所有
我正在使用烧瓶,我正在寻找一种最终在表中显示芹菜作业状态的方法。我想出了一个只能工作一半的解决方案。我有mongodb运行作为我的backend_result我以为我可以只查询数据库的状态。不幸的是,它永远不会告诉待处理的任务只有成功或失败的作业,所以如果有一个长时间运行的任务,你就不会知道该作业是待定的。
是否有任何解决方案可以获得所有实时任务状态。
@app.route('/process/')
def process():
result = add.delay()
return 'async request sent'
@app.route('/job_status')
def job_status():
db_coll = 'flask_app_job_results'
job_status = (mongo.db[db_coll].find({}, {'status':1, '_id':1})).sort('date',pymongo.ASCENDING)
job_status_list = []
for r in job_status:
try:
job_status_list.append(r['status'])
except:
app.logger.info('status key value not found in mongoDB')
app.logger.info('in job status the jobs are {}'.format(job_status_list))
return str(job_status_list)
@celery.task(name='app.add')
def add():
time.sleep(60)
num = 5 + 5