【发布时间】:2013-01-25 18:50:02
【问题描述】:
我通常不需要在我的 Django 应用程序级编程(即视图)中显式使用线程。但我注意到一个看起来很有趣的库,它通过线程处理服务器端分析。
在 Django 视图期间,您将使用他们的 Python 客户端在一个单独的(非守护程序)线程中将 HTTP POST 批量发送到他们的 Web 服务。通常情况下,我会使用 RabbitMQ,而不是线程,但他们希望降低库的启动成本。
我的问题是,这种方法有什么缺点吗?线程有一些额外的内存占用,但我不太担心。这显然取决于启动的请求/线程数。
线程不是守护进程并且可能长时间运行的问题是否存在?我假设 Gunicorn 进程是执行的主线程,并且它在无限循环中运行,因此它是否必须等待非守护线程退出通常并不重要。对吗?
这是一个悬而未决的问题,但重点是了解非守护线程在 Django/Gunicorn 应用程序中的影响。
【问题讨论】:
标签: python django multithreading gunicorn