Example #1
0
    def make_celery(self, app: Flask):
        celery = Celery(app.import_name,
                        backend=app.config['DATABASE_URI'],
                        broker=app.config['CELERY_BROKER_URL'])
        celery.conf.update(app.config)

        class ContextTask(celery.TaskHandle):
            def __call__(self, *args, **kwargs):
                with app.app_context():
                    return self.run(*args, **kwargs)

        celery.TaskHandle = ContextTask
        return celery