2 from flask.ext.sqlalchemy import SQLAlchemy
3 from celery import Celery
5 from app.models import *
7 class FlaskCelery(Celery):
8 def __init__(self, *args, **kwargs):
9 super(FlaskCelery, self).__init__(*args, **kwargs)
13 self.init_app(kwargs['app'])
19 class ContextTask(TaskBase):
22 def __call__(self, *args, **kwargs):
23 if flask.has_app_context():
24 return TaskBase.__call__(self, *args, **kwargs)
26 with _celery.app.app_context():
27 return TaskBase.__call__(self, *args, **kwargs)
29 self.Task = ContextTask
31 def init_app(self, app):
33 self.config_from_object(app.config)
36 celery = FlaskCelery(app.import_name, backend=app.config['CELERY_RESULT_BACKEND'],
37 broker=app.config['CELERY_BROKER_URL'])
42 celery = make_celery(app)
44 from . import importtasks