Cronjob Django不起作用?

时间:2013-11-19 16:12:22

标签: python django cron

我已经按照以下链接运行了一个cron作业:

django - cron

custom management commands

但如果我运行如下命令,所有这些方法都有效:

python manage.py crontab add

   python manage.py runcron

但我不想在没有运行django服务器的情况下执行cron作业 我的意思是我想运行django服务器,它自动调用某个功能 例如,每隔(比如说)5分钟运行服务器。

2 个答案:

答案 0 :(得分:0)

如果我理解正确,如果django没有运行,你就不能使用django cron;所以创建一个bash脚本来检查django是否正在运行,如果没有启动它。

MYPROG="myprog"
RESTART="myprog params"
PGREP="/usr/bin/pgrep"
# find myprog pid
$PGREP ${MYPROG}
# if not running
if [ $? -ne 0 ]
then
   $RESTART
fi

然后为你的cron:

*/5 * * * * /myscript.sh

这是关闭袖口,而不是个性化你的设置,但它与任何开始一样好。

答案 1 :(得分:0)

让我看看我是否可以详细说明:

在Linux上你将使用cron Windows将使用;这些是系统服务,不要与Django混淆。它们基本上是预定的任务。

自定义管理命令本质上是一个将cron作业指向的脚本。

你需要做一些关于cron作业的功课(如果你使用的是Linux),看看如何安排重新执行任务以及如何让它发出自定义命令。这是我对你要做的事情的理解。如果不是你需要澄清的话。