如何在本地启动Django项目中的Crontab?

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

我对 Django 中 crontab 的使用还很陌生。我已按照此链接https://hprog99.wordpress.com/2014/08/14/how-to-setup-django-cron-jobs/中的说明进行操作,以帮助我设置我的方法 my_scheduled_job() cron.py 文件,我想每五分钟调用一次。

这是我更新的设置.py

INSTALLED_APPS = (
    'django_crontab',
    ...)
CRONJOBS = [
    ('*/5 * * * *', 'myproject.cron.my_scheduled_job')
]

之后我运行了这个:

python manage.py crontab add

输出:

adding cronjob: (d0428c9ae8227ed78b17bf32aca4bc67) -> ('*/5 * * * *', 'cinemas.cron.my_scheduled_job')

下一步:什么也没发生。

如何在本地启动这个 cron 作业?有没有办法测试我的工作是否正常运行?

python django cron cron-task django-cron
5个回答
2
投票

在 django 中,您可以使用 django-chronographchronograph 设置 cron。

Django-chronograph 是一个简单的应用程序,允许您控制 Django 管理命令运行的频率。

第1步: 在 django 中创建任务的管理命令。要创建 django 管理命令,请参阅编写自定义 django-admin 命令

第2步: 创建 django 管理命令后,在 cronograph 中配置命令。

希望这对您有帮助。


1
投票

首先,你必须指定你的项目配置文件,然后添加 cron 作业,如果你的项目名称是 foo,那么它是这样的:

export FOO_PROFILE = 'local'
python manage.py crontab add

并且,在运行上述命令之前,您应该首先在 settings.local 中配置 cron 环境,例如:

# django-crontab config
CRONTAB_DJANGO_SETTINGS_MODULE = 'gold.settings.local'

0
投票

Python 中有测试选项卡吗?可能是在某个地方进行模拟以获得教程。尝试在代理答案或类似的帮助和命令程序中进行关键字搜索。


0
投票
python manage.py runserver 

一旦启动服务器,crontab将根据settings.py中指定的时间自动执行。


0
投票

实际上,您想要的是创建一个 Django 命令并在 crontab -e 中创建一个作业条目来调用该命令。

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