5

我在我的 DJANGO 应用程序中使用 celery 时遇到问题。当任务出错时,任务进入循环并重新开始而不是完成任务 我的任务从数据库运行存储过程。在存储过程中,如果有任何错误,我会发送电子邮件并退出存储过程。

我有两个不同并发的工人

celery multi start carga_w conc_w -A provcon -Q:conc_w conc -Q:carga_w carga -l info -c:conc_w 1 -c:carga_w 3 -E

任务:

@task(queue='conc')
def conci(idprov,pfecha):
    conci = Buscar_Conci()
    spconc = conci.buscarcon(idprov,pfecha)
    return None

尝试清除任务不起作用,任务将其保存在内存中。要清除任务,我使用下一个命令:

celery -A provcon purge -f

我是第一次将 Celery 与 DJANGO 一起使用,我不知道我是否遗漏了什么或者我有一些错误的设置:

BROKER_URL = 'redis://localhost:6379/0'
CELERY_IMPORTS = ("pc.tasks", )
CELERY_ACCEPT_CONTENT = ['json']
CELERY_TASK_SERIALIZER = 'json'
CELERY_RESULT_SERIALIZER = 'json'
CELERY_RESULT_BACKEND='djcelery.backends.cache:CacheBackend'

要在进入该循环时终止任务,我需要从数据库中终止它,因为我无法从 django-admin 站点停止或使用 celery purge 命令

出现错误时如何避免在该循环中输入任务的任何建议

提前致谢

4

0 回答 0