2014-09-29 2 views
0

셀러리 스케줄러에서 정기적 인 작업을 추가하고 제거하고 싶습니다.하지만 그렇게 쉬운 방법은 없습니다. 가능한가?셀러 리에서 동적 주기적 작업을 만들 수있는 방법이 있습니까?

다음 질문을 발견했지만 장고를 사용하지 않는 대안이 있는지 궁금합니다. How to dynamically add/remove periodic tasks to Celery (celerybeat)

+0

Tornado PeriodicCallbacks를 사용하여 주어진 간격으로 작업을 실행하고 필요할 때마다 콜백을 지울 수도 있습니다. 왜 "샐러리"가 필요한거야? –

+0

글쎄, 셀러리 작업을 사용하는 큰 프로젝트입니다. 이벤트를 기반으로 계산되는 특정 시점에 이러한 작업 중 일부를 실행해야합니다. 이러한 이벤트는 또한 해당 작업의 실행을 취소 할 수 있습니다. "이벤트 X가 발생하면 지금부터 T 시간 안에 작업 Y를 실행합니다. 그러나 Z 이벤트가 T 이전에 발생하면 작업 Y 실행을 취소합니다"와 같은 것입니다. – Alfre2

+0

나는 그 때 셀러리와 함께 있어야한다고 생각한다. –

답변

0

셀러리 스케줄러에서 작업을 제거하기 위해 당신은

from celery.task.control import discard_all 
discard_all() 

처럼 사용할 수 있습니다 그리고 당신은 스케줄러에 작업을 추가하는 방법에 대한 자세한 설명 here을 볼 수 있습니다.