2016-07-20 2 views
-1

셀러리에서 작업 내에서 인쇄를 시도했지만 콘솔에서도 데이터를 출력 할 수 없습니다.셀러리 작업 내부에 인쇄되지 않음

/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.info() (및 기타 로그 수준에서 모든 출력을 캡처하는 로거 인스턴스)를 구성하고 로컬 파일에 넣어하거나 stdout

2 :에

답변

0

가장 간단한 해결책은 될 것입니다 http://docs.celeryproject.org/en/latest/configuration.html#logging) : 구성하는 동안), 이전에 구성 로거 (더 많은 정보를 제거하는 셀러리를 방지하기 위해

app.conf.update(CELERYD_HIJACK_ROOT_LOGGER=False) 

을 설정합니다. http://docs.celeryproject.org/en/latest/userguide/signals.html

을하지만 조금 더 복잡하고 상황에서 아마도 과잉이다 :


또 다른 옵션은 Siglans를 사용 할 수있다.