Vorrei poter interrompere un'attività in esecuzione da una coda di Celery (utilizzando rabbitMQ). Chiamare l'attività utilizzandoInterrompere un'attività in esecuzione in Celery all'interno di django
task_id = AsyncBoot.apply_async(args=[name], name=name, connect_timeout=3)
dove AsyncBoot è un'attività definita.
È possibile ottenere l'ID dell'attività (supponendo che sia la stringa lunga che restituisce apply_async
) e memorizzarlo in un database, ma non sono sicuro su come chiamare un metodo di interruzione. Vedo come rendere i metodi più comodi con la classe di attività Abortable, ma se ho solo la stringa id-task, come posso chiamare .abort() sull'attività? Grazie.
Vale la pena notare che i documenti di sedici dicono: "questa classe funzionerà solo con i database backend". http://docs.celeryproject.org/en/latest/reference/celery.contrib.abortable.html?highlight=abort#celery.contrib.abortable – dgorissen