[英]not printing inside celery task
在我的芹菜中,我嘗試在任務中進行打印,但是即使在控制台中,我似乎也無法輸出數據。
這是我的結構:
/app.py
@app.route('//create', methods = ['POST'])
def create_file():
request.form .......
callback = build_file.s(name, address)
header = [ send_param.s( id, key ) for key in request_api.keys() ]
result = chord(header)(callback)
@celery.task(name='app.send_param', routing_key='send_param', queue='send_param', retry=False, bind=True)
def send_param(seld, id, key):
//do something
print 'NOT WORKING'
@celery.task(name='app.build_file', routing_key='send_param', queue='send_param', retry=False, bind=True)
def build_file(seld, name, address):
//do something
print 'NOT WORKING'
在我的create_file函數中打印時,它會打印,但在我的任務中卻不會。
最直接的解決方案是:
1)配置一個Logger實例,該實例將捕獲logger.info()
(和其他日志級別)的所有輸出,並將其放入本地文件或僅stdout
到stdout
2)在配置時,設置
app.conf.update(CELERYD_HIJACK_ROOT_LOGGER=False)
以防止Celery刪除任何以前配置的Logger(更多信息: http : //docs.celeryproject.org/en/latest/configuration.html#logging )。
另一種選擇是使用Siglans: http ://docs.celeryproject.org/en/latest/userguide/signals.html
但這會涉及到更多情況,可能對您造成不利影響。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.