用于发送通知和电子邮件的线程
Threading for sending Notifications and Emails
我正在用 Django 开发一个 Web 应用程序,在调用更新时 activity 我做了以下事情:
- 调用我的存储过程来更新数据库。
- 正在生成通知数据。
- 正在向用户发送实际通知。
- 正在为电子邮件生成电子邮件数据。
- 正在向用户发送实际的电子邮件。
用户可以不止一个,我测试了 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
我正在用 Django 开发一个 Web 应用程序,在调用更新时 activity 我做了以下事情:
- 调用我的存储过程来更新数据库。
- 正在生成通知数据。
- 正在向用户发送实际通知。
- 正在为电子邮件生成电子邮件数据。
- 正在向用户发送实际的电子邮件。
用户可以不止一个,我测试了 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