在Django应用程序中每隔n天运行一次Python脚本
问题描述:
我期待每运行一个Python脚本n
天作为Django应用程序的一部分。在Django应用程序中每隔n天运行一次Python脚本
我需要这个脚本来为用户拥有的每个属性添加新行到数据库。
例如,一个User
有许多Site
,每个有多个Metric
数据点。我需要通过运行.py脚本为每每n
天添加一个新的Metric
数据点。
我已经写了脚本本身,但它只是在本地工作。
是它正确的做法:
1)得到的东西如芹菜或只是运行运行python脚本每n
天一个简单的cron任务。
2)让python脚本通过所有Metric
s运行每个Site
并通过从python脚本本身执行SQL命令来添加新的数据点?
答
第一步是编写脚本 - 你已经完成了。这个脚本应该运行要重复的任务。
第二步是安排执行。
这样做的事实上的方法是为脚本编写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