mik*_*725 4 python django subprocess process
然而,在django的上下文中,这更像是一般的Python问题.
现在我在django中有这个视图,它必须处理大量数据.通常它需要服务器(使用django在代理中运行的nginx)几分钟才能完成.有时服务器超时.我不想增加nginx的超时时间.我意识到,如果我可以在django视图中在python中派生一个进程,以便forked(子)进程将独立于django视图执行所有数据处理,那么视图将能够立即将请求返回给用户(因此永远不会超时)并且子进程将在后台继续运行以完成所有计算.
所以这是一个问题:
如何在python中分叉一个独立的进程(如果可能的话,python代码在同一个文件中)?如果可能的话,我如何为其分配unix进程优先级?
我看了一些在python中分支进程的方法,似乎有一些选项.哪一个最适合这种情况?
谢谢.
"最佳实践"的答案是使用队列管理器,通常是RabbitMQ或由Django-celery处理的任何后端.
仍然有一些较轻的选项可以产生一个新的线程.这些选项通常缺少的是跟踪进度或保持线程数量受控制的某种方式.
检查Django-utils以查看它是否足够.如果没有,去芹菜.
| 归档时间: |
|
| 查看次数: |
3031 次 |
| 最近记录: |