Обновлены данные с сельдерея до Flask-маршрута - PullRequest
0 голосов
/ 03 июня 2019

У меня есть приложение фляги, которое выполняет тяжелые запросы в фоновом режиме, что вызывает медленное время загрузки (5-15 секунд) для запросов веб-приложения.

Чтобы решить эту проблему, я добавил Celery в качестве брокера и Redis в качестве Backend.Моя цель состоит в том, чтобы предварительно выполнять каждый запрос каждые 5 минут, чтобы пользователю не приходилось ждать 5-15 секунд при каждой загрузке страницы.

Я успешно создал расписание celerybeat, могусм. в журнале, что он выполняет запросы каждую минуту (для целей тестирования, а не 5 минут).

celery.conf.update(
        CELERYBEAT_SCHEDULE = {
            'update-every-minute': {
                'task': 'task.celery',
                'schedule': timedelta(seconds=60),
                'args': ()
            },
        },
    )

Проблема в том, как мне обновить данные по маршруту колбы?

Если я помещу «задачу» в маршрут, например, так:

from app.tasks import tasks

@app.route('/')
def home():
    result = task.apply_async()
    return jsonify(result.get())

Она по-прежнему перезагружает страницу при каждом запросе get ...

Это простой способ сделатьэта работа?:)

...