如何在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