Отложенное состояние в celery django redis
Я получаю состояние ожидания в celery. Я создал приложение django и поместил celery.py в ту же папку, где находится settings.py. В celery.py я поместил следующее
from __future__ import absolute_import, unicode_literals
import os
from celery import Celery
os.environ.setdefault('DJANGO_SETTINGS_MODULE', 'main_app.settings')
app = Celery('main_app')
app.config_from_object('django.conf:settings', namespace='CELERY')
app.autodiscover_tasks()
@app.task(bind=True)
def debug_task(self):
print('Request: {0!r}'.format(self.request))
@app.task
def add(x, y):
return x + y
Когда я делаю python manage.py shell
from main_app.celery import add,debug_task
debug_task.delay()
вывод <AsyncResult: 47aba4e5-c9e7-48a3-8453-8de2453ada03>
а когда я делаю
task = add.delay(1, 2)
print(task.state)
состояние - ожидание.
Когда я выполняю следующую команду
celery -A main_app.celery worker --loglevel=info
вывод
-------------- celery@my-pc v5.2.6 (dawn-chorus)
--- ***** -----
-- ******* ---- Linux-5.13.0-39-generic-x86_64-with-glibc2.29 2022-04-13 14:36:42
- *** --- * ---
- ** ---------- [config]
- ** ---------- .> app: main_app:0x7fc36fc757f0
- ** ---------- .> transport: redis://localhost:6379//
- ** ---------- .> results: redis://localhost:6379/
- *** --- * --- .> concurrency: 24 (prefork)
-- ******* ---- .> task events: OFF (enable -E to monitor tasks in this worker)
--- ***** -----
-------------- [queues]
.> celery exchange=celery(direct) key