튜토리얼을 올바르게 이해했다면 Celery 하위 작업은 작업과 거의 동일한 API를 지원하지만 다른 기능이나 프로세스로 전달할 수 있다는 장점이 있습니다. 그런 경우라면셀러 리 작업과 하위 작업의 차이점은 무엇입니까?
분명히, 셀러리는 단순히이 하위 대신 하위에 모두 (예를 들어, @app.task
장식이 변환 한 것 기능을 유지하는 대신 작업에와 작업을를 대체 할 등). 그래서 나는 뭔가를 오해하고 있어야합니다.
작업은 일 수 있습니다. 하위 작업 할 수 없습니까?
셀러리 API가 상당히 변경되었습니다. 내 질문은 버전 3.1 (현재, 최신) 특정 것입니다.
편집 :
내가 워드 프로세서 하위 다른 작업에서 호출하기위한 것입니다라고 알고있다. 제 질문은 셀러리가 작업을 완전히 없애고 하위 작업을 사방에서 사용하지 못하게하는 것입니다. 그들은 작업보다 강력한/엄격하게 더 유연한 것 같다 : 당신이 셀러리 complex workflows를 사용하여 시작할 때# tasks.py
from celery import Celery
app = Celery(backend='rpc://')
@app.task
def add(x, y):
# just print out a log line for testing purposes
print(x, y)
# client.py
from tasks import add
add_subtask = add.subtask()
# in this context, it seems the following two lines do the same thing
add.delay(2, 2)
add_subtask.delay(2, 2)
# when we need to pass argument to other tasks, we must use add_subtask
# so it seems add_subtask is strictly better than add
하위 작업은 작업에서 실행되는 보조 작업이라고 생각합니다. http://stackoverflow.com/questions/6349371/celery-task-that-runs-more-tasks – Hussain
@Hussain 예, 정확합니다. 내 업데이트 된 질문보기 – max