Я пишу веб-приложение Python Flask, которое развертываю на Openshift в контейнере (изображение Python S2I).Затем, после развертывания, я хочу запустить 1 процесс Python и 1 рабочий-сельдерей.Я использую для этого пост-жизненного цикла ловушку в модуле развертывания
Мой скрипт runFirst.py представлен ниже - я использую nohup &, чтобы поместить эти процессы в задний план:
#!/usr/bin/env python3
import subprocess
import os
print("start")
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', '&'])
print("end")
Однако после развертывания модуля pod я получаю следующие журналы, которые доказывают, что сценарии не работают до конца и не помещают процессы в фоновый режим:
--> post: Running hook pod ...
start
Consumer is working...
Более того,Когда я захожу в модуль и проверяю процессы командой top, я не вижу этот процесс.