У меня есть Python Celery, работающий как демон с Celerybeat, собирающим задачи на ящике Amazon Linux. Когда я запускаю свою тестовую задачу, она завершается без инцидентов.Невозможно выполнить Ruby Script во время работы Python Celery как Daemon
@app.task
def test():
print("Testing 123")
return 0
Однако, когда я пытаюсь выстрелить сценарий Ruby, используя модуль Python, subprocess
он опрашивает несколько раз, а затем завершает работу с кодом возврата 1
.
@app.task
def run_cli():
try:
process = subprocess.Popen([filepath, "run"], stdout=subprocess.PIPE)
while not process.poll():
data = process.stdout.readline()
if data:
sys.stdout.write("Polling: " + data.decode("utf-8"))
else:
sys.stdout.write("Polling: No Data.")
return process.wait()
except Exception as e:
print(e)
Я подтвердил, что сценарий Рубин работает чисто при исполнении сельдерея работника в оболочке Python с использованием tasks.run_cli.apply()
. Итак, почему же этот Задак сельдерея не выполняет эти задачи?
Предупреждение: я довольно новичок в Python & Сельдерей и мои навыки Linux неоднородны, поэтому я извиняюсь, если это что-то очевидное. Буду признателен за любую оказанную помощь.