我正在编写将在Openshift容器中部署的python Flask Web应用程序(Python S2I图像)。然后,部署后,我想运行1个python进程和1个celery worker。我正在部署吊舱
中使用该生命周期挂钩我的脚本runFirst.py如下所示-我正在使用nohup&将这个过程放在免费中:
#!/usr/bin/env python3
import subprocess
import os
subprocess.run(['nohup', 'python', 'app/services/consumer.py', '</dev/null', '>
nohup1.out', '2>nohup1.out', '&'])
subprocess.run(['nohup', 'celery', '-A', 'app.celery', 'worker', '--
pool=eventlet', '</dev/null', '> nohup2.out', '2>nohup2.out', '&'])
但是,在部署pod之后,我得到了以下日志,这些日志证明脚本没有运行到最后并且没有将进程置于后台:
--> post: Running hook pod ...
start
Consumer is working...
此外,当我进入窗格并使用“ top”命令检查进程时,我看不到该进程。