【发布时间】:2022-01-06 06:40:36
【问题描述】:
这是我正在寻找的用例:
- 用户将在我的应用程序上注册
- 这是一个笔记制作和剩余应用程序
- 在创建剩余用户时,将输入我的应用程序希望当时向用户发送电子邮件的时间
- 我必须用芹菜做同样的事 我阅读了几篇帖子和堆栈溢出答案,但没有得到相同的正确答案。
我的应用程序是用 Django 编写的。
【问题讨论】:
标签: python python-3.x django celery django-celery
这是我正在寻找的用例:
我的应用程序是用 Django 编写的。
【问题讨论】:
标签: python python-3.x django celery django-celery
当用户创建新提醒时,只需在 celery 中安排发送电子邮件任务。请注意,这是一个简单的解决方案,但它会使用户难以在创建通知时间后更改通知时间。
来自answer:
要在指定的日期和时间执行任务,您可以在调用任务时使用 apply_async 的 eta 属性,如 docs 中所述
your_task.apply_async(kwargs={}, eta="your_send_time")
另一种解决方案是每 1 分钟运行一次任务,如果有任何电子邮件要发送,它将检查数据库。你不必为此使用芹菜。类似 Cron 的库应该可以解决问题。例如schedule lib 或django-cron 或Django Commands
编辑:this guy 说你不应该在 Django 中使用 dbader/schedule。
【讨论】: