Задать вопрос
@toobinks

Flask Celery Singleton как?

Хочу сделать задачу синглтоном.

utils/celery.py
def init_celery(app, celery):
    celery.conf.update(app.config)
    TaskBase = celery.Task

    class ContextTask(TaskBase):
        abstract = True

        def __call__(self, *args, **kwargs):
            with app.app_context():
                return TaskBase.__call__(self, *args, **kwargs)

    celery.Task = ContextTask


tasks.py
class CelerySingleton(celery.Task, Singleton):
    pass

@celery.task(base=CelerySingleton)
def calc():
# при обращении к sqlalchemy получаю
# application not registered on db instance and no application bound to current context


Я так понимаю, что в tasks.py класс CelerySingleton наследует celery.Task, который совсем не ContextTask. Но как сделать правильно?
  • Вопрос задан
  • 396 просмотров
Подписаться 1 Оценить Комментировать
Пригласить эксперта
Ваш ответ на вопрос

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

Похожие вопросы
Greenway Global Новосибирск
от 150 000 ₽
SPA2099 Москва
До 100 000 ₽
HR Prime Москва
от 300 000 до 3 800 000 ₽