Remove task on file write error
This commit is contained in:
parent
e4af2d5e86
commit
86d1d4898a
1 changed files with 11 additions and 2 deletions
|
@ -98,10 +98,19 @@ class Worker(object):
|
||||||
correct = False
|
correct = False
|
||||||
if correct is True or correct is None: # Verify ok or same file
|
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"]))
|
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
|
if correct is True and task["done"] is False: # Save if changed and task not done yet
|
||||||
buff.seek(0)
|
buff.seek(0)
|
||||||
|
try:
|
||||||
site.storage.write(task["inner_path"], buff)
|
site.storage.write(task["inner_path"], buff)
|
||||||
|
write_error = False
|
||||||
|
except Exception as err:
|
||||||
|
self.manager.log.error("%s: Error writing: %s (%s)" % (self.key, task["inner_path"], err))
|
||||||
|
write_error = err
|
||||||
if task["done"] is False:
|
if task["done"] is False:
|
||||||
|
if write_error:
|
||||||
|
self.manager.failTask(task)
|
||||||
|
else:
|
||||||
self.manager.doneTask(task)
|
self.manager.doneTask(task)
|
||||||
task["workers_num"] -= 1
|
task["workers_num"] -= 1
|
||||||
else: # Verify failed
|
else: # Verify failed
|
||||||
|
|
Loading…
Reference in a new issue