network: disconnected retry interval
This commit is contained in:
parent
ec5478c328
commit
858ff86660
|
@ -23,6 +23,8 @@ DEFAULT_SERVERS = {
|
|||
'electrum.stepkrav.pw':DEFAULT_PORTS,
|
||||
}
|
||||
|
||||
DISCONNECTED_RETRY_INTERVAL = 60
|
||||
|
||||
|
||||
def parse_servers(result):
|
||||
""" parse servers list into dict format"""
|
||||
|
@ -94,7 +96,10 @@ class Network(threading.Thread):
|
|||
self.default_server = pick_random_server(self.protocol)
|
||||
|
||||
self.irc_servers = {} # returned by interface (list from irc)
|
||||
|
||||
self.disconnected_servers = set([])
|
||||
self.disconnected_time = time.time()
|
||||
|
||||
self.recent_servers = self.config.get('recent_servers',[]) # successful connections
|
||||
|
||||
self.banner = ''
|
||||
|
@ -165,9 +170,6 @@ class Network(threading.Thread):
|
|||
choice_list.append(s)
|
||||
|
||||
if not choice_list:
|
||||
if not self.interfaces:
|
||||
# we are probably offline, retry later
|
||||
self.disconnected_servers = set([])
|
||||
return
|
||||
|
||||
server = random.choice( choice_list )
|
||||
|
@ -364,10 +366,16 @@ class Network(threading.Thread):
|
|||
def run(self):
|
||||
while self.is_running():
|
||||
try:
|
||||
i, response = self.queue.get(timeout=0.1) #timeout = 30 if self.interfaces else 3)
|
||||
i, response = self.queue.get(timeout=0.1)
|
||||
except Queue.Empty:
|
||||
|
||||
if len(self.interfaces) < self.num_server:
|
||||
self.start_random_interface()
|
||||
if not self.interfaces:
|
||||
if time.time() - self.disconnected_time > DISCONNECTED_RETRY_INTERVAL:
|
||||
print_error('network: retrying connections')
|
||||
self.disconnected_servers = set([])
|
||||
self.disconnected_time = time.time()
|
||||
continue
|
||||
|
||||
if response is not None:
|
||||
|
|
Loading…
Reference in New Issue