我已经按照以下链接运行了一个cron作业:
但如果我运行如下命令,所有这些方法都有效:
或
python manage.py crontab add
或
python manage.py runcron
但我不想在没有运行django服务器的情况下执行cron作业 我的意思是我想运行django服务器,它自动调用某个功能 例如,每隔(比如说)5分钟运行服务器。
答案 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),看看如何安排重新执行任务以及如何让它发出自定义命令。这是我对你要做的事情的理解。如果不是你需要澄清的话。