芹菜:在特定时间间隔后执行任务

时间:2014-06-04 10:48:35

标签: django celery django-celery celery-task celerybeat

我想在注册后48小时向我的用户发送电子邮件。如何使用芹菜实现这一目标?如果我创建一个定期任务来发送电子邮件,我将必须决定我想要执行该任务的特定时间。我不想每秒都要继续执行芹菜任务,以检查是否需要发送任何电子邮件。

1 个答案:

答案 0 :(得分:18)

您需要使用ETA。阅读文档的该部分,因为它将有更多信息。但是,您的代码看起来像这样:

from datetime import datetime, timedelta
send_date = datetime.utcnow() + timedelta(days=2)
email_user.apply_async([user], eta=send_date)