用于发送通知和电子邮件的线程

Threading for sending Notifications and Emails

我正在用 Django 开发一个 Web 应用程序,在调用更新时 activity 我做了以下事情:

  1. 调用我的存储过程来更新数据库。
  2. 正在生成通知数据。
  3. 正在向用户发送实际通知。
  4. 正在为电子邮件生成电子邮件数据。
  5. 正在向用户发送实际的电子邮件。

用户可以不止一个,我测试了 50 个用户,由于呼叫处理过多,响应速度较慢。

我计划实施一个线程,该线程将 运行 在后台执行步骤 2、3、4 和 5 以及我的调用 return 在步骤 1 后响应。

我很迷茫我做的对还是错。

有什么好的方法吗?

我从来没有为这种东西使用过线程......这可能会出现问题,具体取决于您使用的是哪个服务器 运行。 (你是运行多实例吗?每个实例都会启动一个线程吗?有些服务器像uwsgi默认禁用线程)

我通常使用像 django-q (http://django-q.readthedocs.io/en/latest/) or celery (http://www.celeryproject.org/) 这样的库来发送电子邮件和其他会延迟请求的东西。

如果您使用 uwsgi 来为您的应用提供服务,它有一个简单的功能可以处理类似的事情:http://uwsgi-docs.readthedocs.io/en/latest/Mules.html