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

时间:2016-05-09 07:54:15

标签: django python-2.7 email notifications python-multithreading

我正在django开发一个web应用程序,在更新调用活动中,我做了以下事情:

  1. 调用我的存储过程来更新数据库。
  2. 生成通知数据。
  3. 向用户发送实际通知。
  4. 为电子邮件生成电子邮件数据。
  5. 向用户发送实际的电子邮件。
  6. 用户可以不止一个,我为50个用户测试了它的响应速度很慢,因为通话中的处理过多。

    我计划实现一个将在后台运行的线程并执行步骤2,3,4& 5,我的呼叫在步骤1之后返回响应。

    我很困惑,无论是对还是错。

    有没有好的方法呢?

1 个答案:

答案 0 :(得分:1)

我从来没有使用线程来处理这种事情......根据您运行的服务器,它可能会出现问题。 (你是在运行多个实例吗?每个实例都会启动一个线程吗?某些服务器如uwsgi默认禁用线程)

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

如果你使用uwsgi来提供你的应用程序,它有一个简单的功能:http://uwsgi-docs.readthedocs.io/en/latest/Mules.html