def update_backend_info(self, interval=<NUM_LIT>):
my_thread = threading.currentThread()<EOL>current_interval = <NUM_LIT:0><EOL>started = False<EOL>all_dead = False<EOL>stati = [None]*len(self._backends)<EOL>while getattr(my_thread, "<STR_LIT>", True) and not all_dead:<EOL><INDENT>if current_interval == interval or started is False:<EOL><INDENT>for ind, back in enumerate(self._backends):<EOL><INDENT>_value = self.children[ind].children[<NUM_LIT:2>].value<EOL>_head = _value.split('<STR_LIT>')[<NUM_LIT:0>]<EOL>try:<EOL><INDENT>_status = back.status()<EOL>stati[ind] = _status<EOL><DEDENT>except Exception:  <EOL><INDENT>self.children[ind].children[<NUM_LIT:2>].value = _value.replace(<EOL>_head, "<STR_LIT>")<EOL>self.children[ind]._is_alive = False<EOL><DEDENT>else:<EOL><INDENT>self.children[ind]._is_alive = True<EOL>self.children[ind].children[<NUM_LIT:2>].value = _value.replace(<EOL>_head, "<STR_LIT>")<EOL><DEDENT><DEDENT>idx = list(range(len(self._backends)))<EOL>pending = [s.pending_jobs for s in stati]<EOL>_, least_idx = zip(*sorted(zip(pending, idx)))<EOL>for ind in least_idx:<EOL><INDENT>if stati[ind].operational:<EOL><INDENT>least_pending_idx = ind<EOL>break<EOL><DEDENT><DEDENT>for var in idx:<EOL><INDENT>if var == least_pending_idx:<EOL><INDENT>self.children[var].children[<NUM_LIT:4>].value = "<STR_LIT>"<EOL><DEDENT>else:<EOL><INDENT>self.children[var].children[<NUM_LIT:4>].value = "<STR_LIT>"<EOL><DEDENT>self.children[var].children[<NUM_LIT:3>].children[<NUM_LIT:1>].value = pending[var]<EOL>self.children[var].children[<NUM_LIT:3>].children[<NUM_LIT:1>].max = max(<EOL>self.children[var].children[<NUM_LIT:3>].children[<NUM_LIT:1>].max, pending[var]+<NUM_LIT:10>)<EOL>if stati[var].operational:<EOL><INDENT>self.children[var].children[<NUM_LIT:5>].value = "<STR_LIT>"<EOL><DEDENT>else:<EOL><INDENT>self.children[var].children[<NUM_LIT:5>].value = "<STR_LIT>"<EOL><DEDENT><DEDENT>started = True<EOL>current_interval = <NUM_LIT:0><EOL><DEDENT>time.sleep(<NUM_LIT:1>)<EOL>all_dead = not any([wid._is_alive for wid in self.children])<EOL>current_interval += <NUM_LIT:1><EOL><DEDENT>
Updates the monitor info
    Called from another thread.