2014-07-24 2 views
1

나는 함수가있어서 fob이라고 부를 수있다. 그의 임무는 몇 가지 사항을 확인하고, 모두 괜찮은지 확인하고 추가 처리를 위해 다른 셀러리 작업을 호출하는 것입니다.재귀 셀러리 작업 테스트

그가 조사하는 변수 중 하나는 .. 퍼지입니다. 이 변수가 있어야하는 것과 다르면 단순히 특정 임계 값까지 fob.delay(whatever)과 같은 자신을 재조정하십시오.

fob을 테스트하고 싶습니다. 그러나 나는 그가 다시 자신을 실행 한 후에 무슨 일이 일어나는지에 관심이 없다. 나는 단지 fob이 자신과 동일한 논쟁을하고 자신의 컨트롤 카운터를 증가 시키도록하고 싶다.

어떻게하면됩니까?

답변

0

모든 것을 확인하는 check_all 함수를 작성하고 모든 것이 정상이면 True을 반환합니다.

def check_all(): 
    # returns true if all conditions are satisfied. 
    return True 

이제 모든 내용을 확인하고 자체적으로 일정을 수정하는 fob 기능을 작성하십시오.

def fob(*args, **kwargs): 
    if check_all(): 
     #go to next task if everything is ok 
     call_next_task.delay() 
    else: 
     # call itself again 
     fob.delay(*args, **kwargs)