@Ggggg123

Celery не решает задачи, что надо сделать?

В общем, в начале я запускаю redis-server через wsl, потом перехожу в django проект и так такой код у меня:
celery.py:
import os
from celery import Celery

os.environ.setdefault('DJANGO_SETTINGS_MODULE', 'drugs.settings')

app = Celery('drugs')
app.config_from_object('django.conf:settings', namespace='CELERY')
app.autodiscover_tasks()


settings.py:
INSTALLED_APPS:[
    ...
    'django_celery_beat',
    'django_celery_results',
    'wood.apps.WoodConfig',
    ...
]
CELERY_BROKER_URL = 'redis://localhost:6379/0'
CELERY_RESULT_BACKEND = "django-db"
CELERY_TIMEZONE = 'Europe/Moscow'
CELERY_TASK_TRACK_STARTED = True
CELERY_TASK_TIME_LIMIT = 30 * 60
CELERY_ACCEPT_CONTENT = ['application/json']
CELERY_TASK_SERIALIZER = 'json'
CELERY_RESULT_SERIALIZER = 'json'


__init__.py:
from .celery import app as celery_app

__all__ = ('celery_app',)


tasks.py:
from celery import shared_task

@shared_task
def add(x, y):
    return x + y


Вот, потом я запускаю с терминалах две команды:
1) celery -A drugs worker -l INFO
2) celery --broker=redis/localhost:6379/0 flower

Далее я создаю таску в python manage.py shell:
from wood.tasks import add
add.delay(2, 3)


В логах появляется такое:"[2023-10-23 22:46:48,054: INFO/MainProcess] Task wood.tasks.add[92704d76-8e58-466c-a5f6-42ee9b38eeda] received
"
Далее я перехожу на сайт flower, и у меня там висит это задание уже минут 10 в статусе: received
6536d581dd6cf168152106.png
Почему она не выполняется? Подскажите, пожалуйста
  • Вопрос задан
  • 67 просмотров
Пригласить эксперта
Ответы на вопрос 1
dimonchik2013
@dimonchik2013
non progredi est regredi
redis-server через wsl

там и под винду он есть скомпиленный

посмотри тут коммент, может подойдет
Почему Celery регистрирует задачи, но не выполняет их?

я на винде использую Dramatiq но по нему таких разжеввнных конфигов нет
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы