【问题标题】:how to start Crontab in Django Project locally?如何在本地启动 Django Project 中的 Crontab?
【发布时间】:2017-03-19 23:37:30
【问题描述】:

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

这是我更新的设置.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 manage.py runserver 解决了这个问题。函数每隔 5 分钟开始运行一次!

标签: python django crontab cron-task django-cron


【解决方案1】:

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

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

第 1 步: 在 django 中创建任务的管理命令。要创建 django 管理命令,请参考Writing custom django-admin commands

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

希望对你有所帮助。

【讨论】:

【解决方案2】:

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

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

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

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

【讨论】:

    【解决方案3】:

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

    【讨论】:

      【解决方案4】:
      python manage.py runserver 
      

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

      【讨论】:

        猜你喜欢
        • 2012-08-05
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2020-01-01
        • 2015-02-06
        • 2013-05-16
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多