def clean_failed_locks(self, backend): name = 'local_locks' if not self.can_clean(name): return for lock in FlagLock.objects(backend=backend): if not is_pid_running(lock.pid): log.warning(_("Found stale lock, removing (app: {name}, pid: " "{pid})").format(name=lock.application.name, pid=lock.pid)) self.reset_pending_state(lock) lock.delete() self.last_clean[name] = datetime.now()
def clean_failed_tasks(self, backend): name = 'local_tasks' if not self.can_clean(name): return for task in Task.objects(backend=backend, status=TaskStatus.running): if not is_pid_running(task.pid): log.warning(_( "Found failed task, marking as failed (id: {id}, app: " "{name})").format(id=task.safe_id, name=task.application.name)) task.update(set__status=TaskStatus.failed, set__date_finished=datetime.now()) self.last_clean[name] = datetime.now()