@toobinks

Что не так с celery_self?

Вот уж не пойму, от чего у меня работает вот так

@celery.task(bind=True)
def task_first():
    pass


И таких тасков у меня много.

Но вдруг решил добавить ещё одну очередь и новый таск
@celery.task(bind=True)
def task_second():
    pass


И на тебе
missing 1 required positional argument: 'celery_self'


И теперь хоть добавляй, хоть Bind=True, хоть Bind=False, хоть вообще без него выдаёт вышеописанную ошибку, но только на новом таске.
Как эт понять?
  • Вопрос задан
  • 57 просмотров
Пригласить эксперта
Ответы на вопрос 1
@VanVanuch
По правильному, если уж указали bind=True, то подразумевается что в вашем таске будет использоваться инстанс таска, а значит функция первым аргументом получает self. Очень странно, что у Вас работало по другому, может были декораторы какие?
По докам, работать должно только так
@celery.task(bind=True)
def task_first(self):
    pass


@celery.task()
def task_second():
    pass
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы