Celery выдает сообщение "ValueError: недостаточно значений для распаковки (ожидалось 3, получено 0)` при вызове task
Я использую Celery в проекте Django для планирования задач уведомления. Когда я запускаю Celery worker и задача выполняется, я получаю следующую ошибку:
ValueError: not enough values to unpack (expected 3, got 0)
Полная обратная связь:
File "celery\app\trace.py", line 640, in fast_trace_task
tasks, accept, hostname = _loc
ValueError: not enough values to unpack (expected 3, got 0)
Это происходит при запуске следующей задачи:
# core/tasks.py
from celery import shared_task
from django.utils import timezone
from core.models import Notification
@shared_task
def send_scheduled_notifications():
now = timezone.now()
notifications = Notification.objects.filter(
is_read=False,
send_at__lte=now
)
for notification in notifications:
print(f"Sending notification: {notification.title}")
notification.is_read = True
notification.save()
Celery успешно запускается и регистрирует задачу как полученную, но затем сразу же завершает работу с описанной выше ошибкой.
Мое окружение:
- Windows 11
- Python 3.13
- Celery 5.5.1
- Redis работает локально
Я подтвердил, что задача выполняется нормально при ручном выполнении вне Celery.
<время работы/>"Я сталкивался с похожим вопросом, но моя ошибка возникает в другой версии Celery, и задача, похоже, структурирована правильно".