在Django App中每n天运行一次Python脚本

时间:2015-10-19 04:30:47

标签: python django

我希望每n天运行一个Python脚本作为Django应用程序的一部分。

我需要这个脚本为用户拥有的每个属性向数据库添加新行。

例如,User有许多Site个,每个Metric有多个Metric个数据点。我需要通过运行.py脚本,每Site天为每个n添加一个新的n数据点。

我已经编写了脚本本身,但它只在本地工作。

这是正确的方法:

1)获取像Celery这样的东西,或者只运行一个简单的cron任务,每隔Metric天运行一次python脚本。

2)让python脚本运行每个Site的所有... entry: { 'bundle-with-dependency-a': 'common-entry.js', 'bundle-with-dependency-b': 'common-entry.js' }, resolve: { alias: { 'dep-a': ..., 'dep-b': ... }, }, 并通过执行python脚本本身的SQL命令添加新的数据点吗?

2 个答案:

答案 0 :(得分:2)

您可以使用Django's manage commad,然后使用 crontab 循环运行此命令。

答案 1 :(得分:2)

第一步是编写脚本 - 您已经完成了。该脚本应该运行要重复的任务。

第二步是安排执行。

这样做的事实上的方法是为脚本编写一个cron条目。这将让系统的cron守护程序以您选择的间隔触发脚本。

为此,请在crontab文件中为拥有该脚本的用户创建一个条目;执行此操作的命令是crontab -e,它将在首选编辑器中加载纯文本文件。

接下来,您需要在此文件中添加一个条目。格式为:

minutes hours day-of-month month day-of-week script-to-execute

因此,如果您想每5天运行一次脚本:

0 0 */5 * * /bin/bash /home/user/path/to/python.py