Catch and log exact verification errors on worker download
This commit is contained in:
parent
f773bf3336
commit
43c8dacd70
1 changed files with 10 additions and 6 deletions
|
@ -56,11 +56,15 @@ class Worker(object):
|
||||||
if task["done"] is True: # Task done, try to find new one
|
if task["done"] is True: # Task done, try to find new one
|
||||||
continue
|
continue
|
||||||
if buff: # Download ok
|
if buff: # Download ok
|
||||||
|
try:
|
||||||
correct = site.content_manager.verifyFile(task["inner_path"], buff)
|
correct = site.content_manager.verifyFile(task["inner_path"], buff)
|
||||||
else: # Download error
|
except Exception, err:
|
||||||
correct = False
|
correct = False
|
||||||
if correct is True or correct is None: # Hash ok or same file
|
else: # Download error
|
||||||
self.manager.log.debug("%s: Hash correct: %s" % (self.key, task["inner_path"]))
|
err = "Download failed"
|
||||||
|
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"]))
|
||||||
if correct is True and task["done"] is False: # Save if changed and task not done yet
|
if correct is True and task["done"] is False: # Save if changed and task not done yet
|
||||||
buff.seek(0)
|
buff.seek(0)
|
||||||
site.storage.write(task["inner_path"], buff)
|
site.storage.write(task["inner_path"], buff)
|
||||||
|
@ -68,10 +72,10 @@ class Worker(object):
|
||||||
self.manager.doneTask(task)
|
self.manager.doneTask(task)
|
||||||
task["workers_num"] -= 1
|
task["workers_num"] -= 1
|
||||||
self.task = None
|
self.task = None
|
||||||
else: # Hash failed
|
else: # Verify failed
|
||||||
self.manager.log.debug(
|
self.manager.log.debug(
|
||||||
"%s: Hash failed: %s, failed peers: %s" %
|
"%s: Verify failed: %s, error: %s, failed peers: %s" %
|
||||||
(self.key, task["inner_path"], len(task["failed"]))
|
(self.key, task["inner_path"], err, len(task["failed"]))
|
||||||
)
|
)
|
||||||
task["failed"].append(self.peer)
|
task["failed"].append(self.peer)
|
||||||
self.task = None
|
self.task = None
|
||||||
|
|
Loading…
Reference in a new issue