Version 0.6.2, Rev3310

This commit is contained in:
shortcutme 2018-02-08 18:16:50 +01:00
parent 3904dcda39
commit 98c6add637
No known key found for this signature in database
GPG key ID: 5B63BAE6CB9613AE
8 changed files with 44 additions and 17 deletions

View file

@ -60,6 +60,18 @@ class Worker(object):
))
break
if sleep_i % 10 == 0:
workers = self.manager.findWorkers(task)
if not workers or not workers[0].peer.connection:
break
worker_idle = time.time() - workers[0].peer.connection.last_recv_time
if worker_idle > 1:
if config.verbose:
self.manager.log.debug("%s: %s, worker %s seems idle, picked up task after %ss sleep. (done: %s)" % (
self.key, task["inner_path"], workers[0].key, 0.1 * sleep_i, task["done"]
))
break
if task["done"]:
continue
@ -86,11 +98,20 @@ class Worker(object):
correct = False
if correct is True or correct is None: # Verify ok or same file
self.manager.log.debug("%s: Verify correct: %s" % (self.key, task["inner_path"]))
write_error = None
if correct is True and task["done"] is False: # Save if changed and task not done yet
buff.seek(0)
site.storage.write(task["inner_path"], buff)
try:
site.storage.write(task["inner_path"], buff)
write_error = False
except Exception as err:
self.manage.log.error("Error writing: %s (%s)" % (task["inner_path"], err))
write_error = err
if task["done"] is False:
self.manager.doneTask(task)
if write_error:
self.manager.failTask(task)
else:
self.manager.doneTask(task)
task["workers_num"] -= 1
else: # Verify failed
task["workers_num"] -= 1