2013-01-08 6 views
2

내 작업 흐름은 다음과 같습니다. 하위 작업 그룹이 있으며 특정 작업 간격으로 각 작업을 실행해야하지만 동시에 어떤 작업도 수행해서는 안됩니다.셀러 리 그룹의 하위 작업에 지연을 추가하는 방법은 무엇입니까?

celery.group(getting_a_page.s(user,x,page).countdown(x) for x in range(5)) 

그러나 그것은 작동하지 않았다 :

나는이 시도.

어떻게하면 좋을까요? 이 점에 대해서는 문서에서별로 중요하지 않습니다. 나는 작업을 지연시킬 수는 있지만 문서에 따라 하위 작업을 지연시킬 수는 없다.

답변

2

Task.subtask() 다음과 같은 매개 변수가 있습니다

  • 작업 - 작업 클래스/인스턴스 또는 작업의 이름 중 하나.
  • args - 적용 할 위치 인수.
  • kwargs - 적용 할 키워드 인수.
  • 옵션 - 추가 옵션 Task.apply_async().

    celery.group(getting_a_page.s(args=(user, x, page), countdown=X)) 
    # where X is any number 
    

    Here

    희망 읽기 : 같은 것을 따라서 당신이 할 수있는 지연

    을 설정하는 데 사용할 수 있습니다 카운트 다운 및 ETA :

Task.apply_async은() 옵션이 있습니다 이게 도움이 :)

+2

나는 오류가 발생했습니다 : 예상치 못한 키워드 인수 '카운트 다운' – Hick

+2

시도'op tions = {카운트 다운 : x}' – Crazyshezy

+1

위는 적어도 더 이상 작동하지 않습니다. 다른 방법은'my_task.s(). set (countdown = 10)'을 수행하는 것입니다. – mlissner

관련 문제