Я пытаюсь запланировать задачи, используя Celery и Python для флеш-приложения. Я в основном хочу запустить функцию в другом каталоге каждые х раз и сделать ее задачей сельдерея. Я импортировать функцию test_check и я пытаюсь поставить его под сельдерей задачи под названием testcheck(), однако, я получаю ошибку:Python, Celery, Flask, «работающий вне контекста приложения»
working outside of application context
Как я могу это исправить? Вот мои настройки:
from app import app
from celery import Celery
from datetime import timedelta
from app.mod_check.views import test_check
celery = Celery(__name__,
broker='amqp://guest:@localhost/',
backend='amqp://guest:@localhost/'
)
celery.config_from_object(__name__)
@celery.task
def add(x, y):
print "celery working!"
return x + y
@celery.task
def testcheck():
test_check()
CELERYBEAT_SCHEDULE = {
'add-every-30-seconds': {
'task': 'tasks2.testcheck',
'schedule': timedelta(seconds=5),
#'args': (16, 16)
},
}
CELERY_TIMEZONE = 'Europe/London'
Вы видели эту [официальную фляжную документацию] (http://flask.pocoo.org/docs/0.10/patterns/celery/) на этом? – jonafato
@jonafato с таким подходом Я получаю 'AttributeError: объект NoneType 'не имеет атрибута' is_authenticated'' –