Как получить результат от асинхронной функции в Python / Django, используя Celery + Redis - PullRequest
0 голосов
/ 21 января 2019

Я новичок в очереди задач.Когда я открываю оболочку и выполняю функцию add.delay(3,4) из функции в оболочке, чтобы выполнить задачу.Я получаю: <AsyncResult: 30db3528-5b0f-4e74-bf47-51956a1f83e9>.Как получить результат от этой функции и что я должен сделать, чтобы запланировать выполнение результата через 5 секунд?

# celery.py

from __future__ import absolute_import, unicode_literals
import os
from celery import Celery

app = Celery('RedisQueue')

app.autodiscover_tasks()

`@app.task
def add(a, b):
    return a + b`

# __ init __. Py

from __future__ import absolute_import, unicode_literals

__all__ = ['celery_app']

# settings.py

CELERY_BROKER_URL = 'redis://localhost:6379'

CELERY_RESULT_BACKEND = 'redis://localhost:6379'

CELERY_ACCEPT_CONTENT = ['application/json']

CELERY_RESULT_SERIALIZER = 'json'

CELERY_TASK_SERIALIZER = 'json'
...