【发布时间】:2020-08-09 15:29:12
【问题描述】:
我正在Django 中构建一个 Web 应用程序。我将所有电子邮件存储在 MySQL 数据库队列中,以便系统在发送这些电子邮件时不会变慢。
使用PHP,我将配置 cronjob 以每分钟运行一次来查询数据库队列并发送这些电子邮件。用Django,我不知道怎么办?
任何有用的指针都会很有帮助。
谢谢
【问题讨论】:
-
如果你只发一两封邮件,也不算慢。而且你仍然可以使用 cronjob。
-
Django Background Tasks 作为猜测。
-
您如何存储电子邮件?在您将它们排队的视图或脚本中,为什么不发送它们?
-
有时,我会一次发送超过 3-4 封电子邮件,我发现使用 SMTP 需要几秒钟。所以我存储在一个我想单独处理的
queue表中。 -
如果你真的只想像在 PHP 中那样做,你可以在 django 中创建一个管理命令并从一个 cronjob (docs.djangoproject.com/en/3.0/howto/custom-management-commands) 触发它,这可以开箱即用,无需额外的依赖.对于更复杂的解决方案,您可以使用 celery,但它会在您的解决方案中添加另一层,因此请谨慎考虑。
标签: python mysql django cron celery