Je suis nouveau à céleri. J'ai une tâche de céleri qui doit être exécutée lorsqu'une condition est remplie. Sinon, réessayez après quelques minutes. À partir du code ci-dessous, je suis bloqué sur la façon de réessayer la même tâche dans d'autres conditions? Apprécier ton aide.comment exécuter des tâches de céleri conditionnellement python
@app.task(bind=True,soft_time_limit=4 * 3600)
def task_message_queue(id, name=None, tid=None, src=None, dest=None, queue="MessageQueue"):
ThreadLocalStore().set_data({"id": id, "tid": tid, "name": name,"src": src, "dest":dest})
num_files = os.popen("find %s -type f | wc -l" % dest).read().strip().split('\n')[0]
if num_files < 20:
#Move files from src to destination
else:
#wait for 2 minutes and retry the task
Merci Arpit. Donc, j'ai ajouté une "augmentation" dans d'autres conditions. et self.retry à l'intérieur de l'exception. Je vais le tester. – user2406718
Eh bien, en fait, vous n'avez pas besoin d'une condition de relèvement, si cela fonctionne ici –
si je ne soulève pas l'exception, alors "exc" n'est pas défini. J'ai aussi eu un problème même lorsque je soulève exception, parce que exc ne obtient pas la tâche réelle à exécuter – user2406718