首页 > 解决方案 > Django 项目的 Cron 作业未激活

问题描述

我正在尝试将 cronjob 添加到我的 django 项目中,该项目将每 1 分钟重置一次我的游戏分数。我使用了 cron 选项卡,我认为这是导致它不触发的函数的路径/位置。这是文件的层次结构和每个文件中的一些文件。

ProjectBackend—
    ProjectBackend—
        - settings.py
        - wsgi.py 
        __init__.py
        urls.py
    manage.py
    heroku
    scores—
        admin.py
        cron.py
        models.py
        views.py
        urls.py
        apps.py

在上面的 settings.py 中,我有以下内容:我只将 crontab 添加到 installed_apps 和 cronjob 数组。

CRONJOBS = [
    ('*/1 * * * *', ’scores.cron.my_scheduled_job’)
]
INSTALLED_APPS = [
    'django.contrib.admin',
    'django.contrib.auth',
    'django.contrib.contenttypes',
    'django.contrib.sessions',
    'django.contrib.messages',
    'django.contrib.staticfiles',
    'scores.apps.ScoresConfig',
    'django_crontab',
]

我已经用 'ProjectBackend.scores.cron.my_scheduled_job' 和其他变体替换了 cronjob 的第二个参数,但没有运气。我选择了“scores”而不是“scores.apps.ScoresConfig”,因为它被设计为apps.py 中的名称

我将名为 my_scheduled_job 的函数放在上述位置的 cron.py 中。

现在所有的功能都是打印出一个字符串,当我在 manage.py 所在的目录中执行以下操作时,它不会显示在终端上。

‘Python3 manage.py crontab add’ 
‘Python3 manage.py crontab show’

它说: crontab 中的当前活动作业: ('*/1 * * * *', 'scores.cron.my_scheduled_job') 在此之后,我执行 python3 manage.py runserver 并且没有任何反应。

https://pypi.org/project/django-crontab/我跟着这个。我是否正确设置了所有内容?

标签: pythondjangocron

解决方案


看起来,cronjob 的配置有问题。您可以访问下面给出的此链接: http ://django-cron.readthedocs.io/en/latest/sample_cron_configurations.html

您还可以访问此链接以获取有关 crontab 的更多描述 https://kite.com/python/docs/celery.task.schedules.crontab


推荐阅读