Django中Celery无法检测并注册定时任务的问题求助
Django + Celery定时任务配置问题求助
环境依赖版本
- celery 5.3.6
- Django 4.0.10
- django-celery-beat 2.5.0
- django-celery-results 2.5.1
- Python 3.8.8
项目结构
django-project ├── .vscode │ └── settings.json ├── myapp │ ├── ... │ ├── tasks.py │ ├── ... ├── manage.py ├── django-project │ ├── celeryapp.py │ ├── settings.py │ ├── ...
关键配置
- settings.py中已配置Celery的Broker、Result Backend及定时任务相关参数
- celeryapp.py中调用了
app.autodiscover_tasks() - myapp/tasks.py中定义了带
@shared_task(name='test')装饰器的test任务
问题现象
用honcho启动Django服务、Celery Worker和Beat后,Worker未检测到myapp的tasks,Beat触发定时任务时Worker报错:
KeyError: 'myapp.tasks.test'
已尝试的操作:
- 试过网上能找到的所有解决方案
- 将代码从MacOS迁移到Windows系统,问题依旧
- 严格按照Celery文档步骤配置定时任务
- 更换过celery、django-celery-beat、django-celery-results等组件的版本,仍未解决
内容的提问来源于stack exchange,提问作者ianswings
相关产品推荐
相关产品推荐

