Django 如何设置计划任务?

  • 回答 (2)
  • 关注 (0)
  • 查看 (105)

我一直在使用Django开发一个Web应用程序,而且我很好奇是否有办法安排一个定期运行的工作。

基本上我只是想通过数据库运行一些自动,定期的计算/更新,但我似乎无法找到任何文件这样做。

有谁知道如何设置?

澄清:我知道我可以设置一个cron工作来做到这一点,但我很好奇,如果在Django中有一些功能提供这个功能。我希望人们能够自己部署这个应用程序,而不必做很多配置(最好是零)。

我曾经考虑通过简单地检查自上一次请求发送到网站以来是否应该运行一个工作来触发这些操作,但是我希望有一些更简洁的东西。

伤旧伤旧提问于
御姐万岁回答于

我采用的一个解决方案是这样做的:

1)创建一个自定义的管理命令,例如

python manage.py my_cool_command

2)使用cron(在Linux上)或at(在Windows上)在需要的时间运行我的命令。

这是一个简单的解决方案,不需要安装沉重的AMQP堆栈。然而,在其他答案中提到的使用像芹菜这样的东西有很多好处。特别是在Celery中,不用将应用程序逻辑分散到crontab文件中就可以了。但是,cron解决方案对于中小型应用程序来说工作得非常好,并且不需要太多的外部依赖。

编辑:

在Windows的更高版本中at,Windows 8,Server 2012及更高版本不推荐使用该命令。您可以使用schtasks.exe相同的用途。

回答过的其他问题

代码部署会失败,提示 “代码部署失败 -40017:获取cos文件属性失败”?

你的cos文件属性配置好了吗?是怎么配置的呢?看你的报错信息应该是没有正确配置cos,你检查一下你的配置看一下,生产环境的部署办法看一下这里https://cloud.tencent.com/document/product/619/11689

Polar码 和LDPC码的区别?

Polar码是一类基于称为信道极化的现象的线性分组码。LDPC码是一种具有稀疏校验矩阵的分组纠错码,至于是什么就不在多言了,我想说的是,其实Polar码成为5G控制信道eMBB场景编码方案其实很好理解。并且是实有名归。 Polar编码对5G场景的适用性非常高,华为在5G现场试验中...... 展开详请

获取到的备份下载链接,失效(404),后从新刷新接口获取为什么刷新后的的地址没变 还是失效链接?

新建一个控制器却无法访问是什么原因呢?

点击右上角的【腾讯云】按钮,选择【上传测试代码】,勾选【普通上传】,点击确定上传代码,等到提示开发环境部署成功你这个是开发环境部署成功未部署成功导致的,不是你的代码问题,检查是否部署正确

哪里可以设置home/uftp访问权限为a-w?

登录到linux服务器,然后使用cd命令切换到home/uftp下,然后使用

chmod a-w uftp

就行了,很简单的

提示550错误,无法删除?

如果使用上面办法都没办法解决,而且是windows服务器的话,尝试一下操作: FileZilla因为是运行中SYSTEM权限下,而共享文件SYSTEM并没有这样的功能。 所以解决这个问题的办法就是在管理--服务中,对FIleZilla进行一个管理员权限的设置。使其在管理员下面运行...... 展开详请

关于作者

所属标签

扫码关注云+社区

领取腾讯云代金券