【发布时间】:2014-07-24 23:38:00
【问题描述】:
我想在我的用户注册 48 小时后向他们发送一封电子邮件。我如何使用 celery 实现这一点?如果我创建一个定期任务来发送电子邮件,我将不得不决定我要执行该任务的具体时间。我不想每秒运行一个 celery 任务来检查是否有任何电子邮件需要发送。
【问题讨论】:
标签: django celery django-celery celery-task celerybeat
我想在我的用户注册 48 小时后向他们发送一封电子邮件。我如何使用 celery 实现这一点?如果我创建一个定期任务来发送电子邮件,我将不得不决定我要执行该任务的具体时间。我不想每秒运行一个 celery 任务来检查是否有任何电子邮件需要发送。
【问题讨论】:
标签: django celery django-celery celery-task celerybeat
你会想要使用ETA。阅读文档的该部分,因为它将包含更多信息。但是,您的代码将如下所示:
from datetime import datetime, timedelta
send_date = datetime.utcnow() + timedelta(days=2)
email_user.apply_async([user], eta=send_date)
【讨论】: