从芹菜任务创建的任务被创建两次

时间:2018-12-06 17:14:25

标签: flask celery

我们在烧瓶0.10.1应用程序中使用带有Redis后端的celery 3.1.17。在我们的服务器上,从某个celery任务创建的每个celery任务都会被创建两次。例如,

@celery.task(name='send_some_xyz_users_alerts')
def send_some_xyz_users_alerts():
    list_of_users = find_some_list_of_users()
    for user in list_of_users:
        send_user_alert.delay(user)


@celery.task(name='send_user_alert')
def send_user_alert(user):
    data = get_data_for_user(user)
    send_mail_to_user(data)

如果我们从应用程序中启动send_some_xyz_users_alerts,则它将运行一次。然后,我看到每个用户的芹菜正在运行2个send_user_alert任务。这两个任务具有不同的task_id。我们有2名工人在服务器上运行。有时,这些重复的任务在同一工作程序上运行。有时在不同的工人上。我已经尝试了很多,没有运气就找到了问题。如果有人知道为什么会发生,将不胜感激。在这些版本的芹菜和烧瓶上,一切正常运行了几个月,突然之间,我们的服务器上出现了这个问题。任务在本地环境中运行良好。

0 个答案:

没有答案