setting.py 中的 CELERY_BEAT_SCHEDULER 错误

问题描述 投票:0回答:1

设置.py

# celery

CELERY_TIMEZONE = "UTC"
CELERY_BROKER_URL = "redis://127.0.0.1:6379"
CELERY_ACCEPT_CONTENT = ["application/json"]
CELERY_RESULT_SERIALIZER = "json"
CELERY_TASK_SERIALIZER = "json"
CELERY_RESULT_BACKEND = "django-db"

# celery-beat

CELERY_BEAT_SCHEDULER = "django-celery-beat.schedulers:DatabaseScheduler"


INSTALLED_APPS = [
    "django.contrib.admin",
    "django.contrib.auth",
    "django.contrib.contenttypes",
    "django.contrib.sessions",
    "django.contrib.messages",
    "django.contrib.staticfiles",
    "rest_framework",
    "rest_framework_simplejwt",
    "corsheaders",
    "celery",
    "django_celery_results",
    "django_celery_beat",
    # Custom apps
    ...
]

所以我想运行我的 celery-beat: celery -A 配置节拍 -l INFO 其中 config 是我的项目名称

然后我收到错误消息: ModuleNotFoundError:没有名为“django-celery-beat”的模块

芹菜.py

    "clear_spent_in_categories_every_month": {
        "task": "category.tasks.clear_all_spent",
        # "schedule": crontab(day_of_month="1", hour="0", minute="0")
        "schedule": crontab(hour="4", minute="40")
    }
}```

I tried to restart my IDE, server, reinstall celery, checked my INSTALLED_APPS, and I don't know, why it doesn't work. But if I delete setting CELERY_BEAT_SCHEDULER = "django-celery-beat.schedulers:DatabaseScheduler", it's works with celery.beat.PersistentScheduler
django django-rest-framework celery django-celery celerybeat
1个回答
0
投票

它适用于我使用下划线而不是连字符: CELERY_BEAT_SCHEDULER = "django_celery_beat.schedulers:DatabaseScheduler"

© www.soinside.com 2019 - 2024. All rights reserved.