Я пытаюсь получить фильтр отправителя, например.celery task_success с фильтром отправителя
@celery.task
def run_timer(crawl_start_time):
return crawl_start_time
@task_success.connect
def run_timer_success_handler(sender, result, **kwargs):
print '##################################'
print 'in run_timer_success_handler'
Вышеприведенные отлично работает, но если я пытаюсь фильтровать по отправителю, он никогда не работает:
@task_success.connect(sender='tasks.run_timer')
def run_timer_success_handler(sender, result, **kwargs):
print '##################################'
print 'in run_timer_success_handler'
Я также попытался: @ task_success.connect (отправитель = 'run_timer') @ task_success.connect (sender = run_timer) @ task_success.connect (sender = globals() ['run_timer'])
Ни один из них не работает.
Как эффективно использовать фильтр отправителя, чтобы гарантировать, что вызываемый вызов вызван для задачи run_timer, а не для других.
Мне пришлось использовать 'sender.name', чтобы заставить это работать. –