gpt4 book ai didi

django - celery 执行计划任务一百次

转载 作者:行者123 更新时间:2023-12-04 19:18:27 25 4
gpt4 key购买 nike

我已经在我的 django 应用程序中配置了 celery,以便每天早上运行一项任务。该任务只是向一组用户发送一封电子邮件。问题是同一封电子邮件被发送了几百次!

这是我的 celery 配置:

BROKER_URL = 'redis://127.0.0.1:6379/0'
BROKER_TRANSPORT = 'redis'
CELERYBEAT_SCHEDULER = 'djcelery.schedulers.DatabaseScheduler'

from celery.schedules import crontab

CELERYBEAT_SCHEDULE = {
'alert_user_is_not_buying-everyday-at-7': {
'task': 'opti.tasks.alert_users_not_buying',
'schedule': crontab(hour=7, minute=0),
},
}

任务是:
@app.task(bind=True)
def alert_user_is_not_buying(self):
send_mail_to_users()

我使用这个命令来启动 worker 和节拍(我使用主管):
exec celery --app=opti beat --loglevel=INFO
exec celery --app=opti worker --loglevel=INFO

我相信我的 send_mail_to_users() 方法没有问题,看起来电子邮件每 30 秒发送一次......

什么不见​​了?

最佳答案

您的 CELERYBEAT_SCHEDULE 设置可能未使用,因为您已将 CELERYBEAT_SCHEDULER 设置为使用 DatabaseScheduler。该调度程序是如何配置的?我猜这就是问题所在。

关于django - celery 执行计划任务一百次,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29185854/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com