1
我有Python Celery作爲守護進程運行,Celerybeat在亞馬遜Linux框上拾取任務。當我運行我的測試任務時,它沒有發生任何事情就完成了。在運行Python Celery作爲守護進程時無法執行Ruby腳本
@app.task
def test():
print("Testing 123")
return 0
然而,當我嘗試使用Python的subprocess
模塊,它輪詢的時間屈指可數,以火了一個Ruby腳本,然後用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)
我已經證實,當使用tasks.run_cli.apply()
在Python殼芹菜工人執行Ruby腳本順利運行。那麼,芹菜守護進程爲什麼不執行這個任務?
預警:我對Python非常陌生&芹菜和我的Linux技能很差,所以我很抱歉,如果它是明顯的。任何幫助深表感謝。