Exemplo n.º 1
0
def test_ext_init():
    """Test of find_best_app."""
    app = Flask('exttest')
    ext = FlaskCeleryExt(app=app)
    assert ext.celery

    app = Flask('exttest')
    ext = FlaskCeleryExt()
    assert ext.celery is None
    ext.init_app(app)
    assert ext.celery

    def factory(flask_app):
        celery = Celery('myname')
        celery.flask_app = flask_app
        return celery

    app = Flask('exttest')
    ext = FlaskCeleryExt(app=app, create_celery_app=factory)
    ext.init_app(app)
    assert ext.celery
Exemplo n.º 2
0
def test_ext_init():
    """Test of find_best_app."""
    app = Flask('exttest')
    ext = FlaskCeleryExt(app=app)
    assert ext.celery

    app = Flask('exttest')
    ext = FlaskCeleryExt()
    assert ext.celery is None
    ext.init_app(app)
    assert ext.celery

    def factory(flask_app):
        celery = Celery('myname')
        celery.flask_app = flask_app
        return celery

    app = Flask('exttest')
    ext = FlaskCeleryExt(app=app, create_celery_app=factory)
    ext.init_app(app)
    assert ext.celery
Exemplo n.º 3
0
"""All Celery tasks are declared in submodules of this module."""
from celery import Task
from flask_celeryext import FlaskCeleryExt
from ..flask import app
ext = FlaskCeleryExt()
ext.init_app(app)
celery = ext.celery
del app, ext, FlaskCeleryExt

# Use the same URL for both the result backend and the broker.
celery.conf['result_backend'] = celery.conf.broker_url


class AppContextTask(Task):

    abstract = True

    def __call__(self, *args, **kwargs):
        """Execute task."""
        with self.app.flask_app.app_context():
            return Task.__call__(self, *args, **kwargs)


# Create a new Flask context for every task.
# This should flush database changes on the end of each task.
celery.Task = AppContextTask

import importlib  # noqa: E402
import os  # noqa: E402
import pkgutil  # noqa: E402