diff --git a/projet/src/client/client.py b/projet/src/client/client.py index 26720dd913b726ec12465bb6ccf569b8e5442f4c..71de5900b8bd892f24b5f7a59afc784dac75a0ca 100644 --- a/projet/src/client/client.py +++ b/projet/src/client/client.py @@ -22,11 +22,18 @@ class Client: logger.error("Cannot mark task {} as failed as it does not exist in the DB.".format(message["task_id"])) return False - failed = FailedTask(item.module_id, 3, str(message['error'])) - session.add(failed) - session.delete(item) + if item.tries < 3: + item.tries += 1 + session.add(item) + logger.info("Incremented failure counter for task {}".format(item.id)) + else: + failed = FailedTask(item.module_id, 3, str(message['error'])) + session.add(failed) + session.delete(item) + logger.warning("Deleted task {}.".format(item.id)) + session.commit() - logger.warning("Deleted task {}.".format(item.id)) + def mark_as_done(self, session, message): item = session.query(Task).filter_by(id=message["task_id"]).first()