Revoking task

celery 2014. 11. 24. 18:50

task revoke를 한다음에 다시 scheduled task를 가져오면 이전에 revoke된것들이 포함되어있다. 알고보니 revoked가 따로 있음 -_-

아직 revoke된거를 제외한 나머지 task만 가져오는건 못찾음.. 일단 revoke 안된것만 가져오는건 두 배열을 비교하는 수 밖에..


from celery.task.control import inspect

from celery.task.control import revoke


i = inspect()

queues = i.scheduled()

queues_revoked = i.revoked()

keys = queues.keys()

all_tasks = []

revoked_tasks = []

tasks = []


if len(keys) > 0:

    all_tasks = queues[keys[0]]

    revoked_tasks = queues_revoked[keys[0]]


for task in all_tasks:

    if task['request']['id'] not in revoked_tasks:

        revoke(task['request']['id'], terminate=True) 


블로그 이미지

시간을 거스르는자

,