Thread safe task remove in failTask
This commit is contained in:
parent
b2e7cbb927
commit
20b0db7ddb
1 changed files with 10 additions and 7 deletions
|
@ -587,11 +587,14 @@ class WorkerManager(object):
|
||||||
|
|
||||||
# Mark a task failed
|
# Mark a task failed
|
||||||
def failTask(self, task, reason="Unknown"):
|
def failTask(self, task, reason="Unknown"):
|
||||||
if task in self.tasks:
|
try:
|
||||||
self.log.debug("Task %s failed (Reason: %s)" % (task["inner_path"], reason))
|
|
||||||
task["done"] = True
|
|
||||||
self.tasks.remove(task) # Remove from queue
|
self.tasks.remove(task) # Remove from queue
|
||||||
self.site.onFileFail(task["inner_path"])
|
except ValueError as err:
|
||||||
task["evt"].set(False)
|
return False
|
||||||
if not self.tasks:
|
|
||||||
self.site.greenlet_manager.spawn(self.checkComplete)
|
self.log.debug("Task %s failed (Reason: %s)" % (task["inner_path"], reason))
|
||||||
|
task["done"] = True
|
||||||
|
self.site.onFileFail(task["inner_path"])
|
||||||
|
task["evt"].set(False)
|
||||||
|
if not self.tasks:
|
||||||
|
self.site.greenlet_manager.spawn(self.checkComplete)
|
||||||
|
|
Loading…
Reference in a new issue