3
파이프 라인에 셀러리를 사용하는 가장 좋은 방법은 TaskA -> TaskB -> TaskC입니까? 제발 투표를 너무 빨리하지 말아라. 나는 샐러리에 대해 아무것도 모른다. 문서는 실제로 실제 적용에서 어떻게해야 하는지를 너무 많이 설명하지 않는다. 나는 당신의 의견에 감사드립니다.파이프 라인에 셀러리 사용
@app.task
def taskA(t_id):
if success:
TaskB.delay(t_id)
else:
ReportError.delay(t_id)
@app.task
def taskAA(t_id):
if success:
TaskB.delay(t_id)
else:
ReportError.delay(t_id)
@app.task
def taskB(t_id):
if success:
TaskC.delay(t_id)
else:
ReportError.delay(t_id)
은 아마 당신은 체인을 사용할 수 있습니다, 다른 덧글 상태로
http://stackoverflow.com/questions/3901101/pythoncelery-chaining-jobs – svvac
사용 셀러리 체인의 사용 가능한 복제 https://celery.readthedocs.org/en /latest/userguide/canvas.html#chains는 이전 댓글의 링크 된 답변에 설명되어 있습니다. –
@MauroRocco 내가 좋아하지 않는 한 가지는 체인이 분기없이 순차적이라는 것입니다. 예를 들어, taskA의 경우 이미지 다운로더와 비디오 다운 로더를 시작해야 할 수도 있습니다. 비디오 다운 로더 후에는 세그너가 필요할 것입니다. 어쩌면 셀러리가 이런 종류의 작업에 적합한 프레임 워크가 아닐까요? 정적으로 시스템의 흐름을 구성하는 방법을 찾고 있는데, taskA에 t_id를 공급할 수 있고 모든 것이 올바르게 작동합니다. –