如何在Python中編寫一個腳本,該腳本在計算機上運行時輸出(Ubuntu)?如何檢查Celery/Supervisor是否正在運行使用Python
我的用例。我有一個簡單的Python文件,有一些任務。我沒有使用Django或Flask。我使用主管來運行任務隊列。例如,
tasks.py
from celery import Celery, task
app = Celery('tasks')
@app.task()
def add_together(a, b):
return a + b
主管:
[program:celery_worker]
directory = /var/app/
command=celery -A tasks worker info
這一切工作,我現在想,如果有芹菜/管理進程正在運行,檢查頁面。即類似這樣的事情可能使用Flask允許我託管給出200狀態的頁面,以允許我進行負載平衡。
例如...
check_status.py
from flask import Flask
app = Flask(__name__)
@app.route('/')
def status_check():
#check supervisor is running
if supervisor:
return render_template('up.html')
else:
return render_template('down.html')
if __name__ == '__main__':
app.run()
我沒有任何留言給今天,所以我通過評論upvoting這種方法。 – sobolevn
我不認爲'app = celery.Celery('tasks',broker ='redis://')'是必須的。 'app'變量在其他地方不使用。 – djromero
@djromero已經有一段時間了,因爲我檢查了它是如何工作的,但是IIRC需要在庫內部實例化單例應用程序。如果您在其他地方使用芹菜並且創建芹菜實例,則不需要。 – Rotten194