怎样在生产环境中(gunicorn 起多个进程),还能使用 os.system 或 subprocess 命令?

2018-05-10 09:47:42 +08:00
 miniyao
本地开发环境中 os.system 和 subprocess 都是正常执行的,但是在生产环境中,gunicorn 起了多个 worker,os.system 和 subprocess 这样的任务就全失效了。

怎样才能在 gunicorn 多进程的环境中,还能使用这种 fork 进程的 os.system 或 subprocess 命令?
3263 次点击
所在节点    Python
8 条回复
ebingtel
2018-05-10 12:55:54 +08:00
有这种说法?
meik2333
2018-05-10 16:41:54 +08:00
应该不会吧……要不试试 celery
a132811
2018-05-10 17:06:20 +08:00
试了下 os.system('ls -l') 没有问题啊!

你把日志打开看看,我的都有
--log-file gun.log --capture-output
julyclyde
2018-05-10 17:17:19 +08:00
不会失效
wzwwzw
2018-05-10 18:47:43 +08:00
要不试试 pool ?
applehater
2018-05-10 21:36:27 +08:00
用个 pid 文件记录进程不让他重复启动就好
@a132811
@julyclyde gunicorn 多个 worker 会把子进程也启动多次
julyclyde
2018-05-10 22:18:54 +08:00
@applehater 多次那是你没理解 gunicorn 是怎么运行的,那是你自己的问题
param
2018-05-10 22:57:46 +08:00
不會失效,我也是這麼用

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/453662

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX