务工作没有开始...想法?
题
谢谢你帮我设定了我的计划任务的工作,务确实是一个金矿我。
不幸的是,我有一个问题,并没有任何想法什么都没有什么可能是...基本上一份工作没有开始,而邻国的工作做。我会解释
这是我的crontabs的工作清单:
*/10 * * * * 蟒蛇/webapps/foo/manage.py fetch_articles
*/10 * * * * 蟒蛇/webapps/bar/manage.py fetch_books
我写了他们,因为他们是在一个文件,并将它们存储使用务/path/to/文件。
核务-l的工作。
奇怪的是,1这些执行每10分钟通常...但是其他一个没有。我试图输入命令手动,它工作正常,没有一个问题。
任何人都不会有什么建议?
帮助,将不胜感激,谢谢你们.
更新:
我一直在系统日志中的文件和我发现了这个:
Mar5 02:50:01localhost CRON[21652中]:(root)CMD(python/webapps/foo/manage.py fetch_books)
这是不是意味着务是调工作,好吗?
谢谢你答复的家伙!
固定它!非常感谢大家!
问题是,脚本默默地失败了,我相信这是由于PYTHON_PATH变化,由于那里的剧本是从...我完全确定。
解决方案
Cron总是运行一个环境不同的是什么,你认为:-)
我总是有我的cronjobs设立的,如:
*/10 * * * * ( date ; python /webapps/foo/manage.py fetch_articles ) >>/tmp/fetch.out 2>&1
为确保有记录的东西,我可以看看。
这将缩小你的问题向下:
- cron,如果该临时文件不会出现;或
- 你的脚本,如果它不会出现。
而且,在后一种情况下,我们希望将有一些输出可以调试。如果不是,把出在那里。
要做到这一点的一种方法是把:
set -x
在顶的剧本,这将导致所有行输出之前执行。所有的我的脚本倾向于启动:
#!/bin/bash
#set -x
所以我可以取消,第二行,同时调试。
其他提示
从crontab的手册页:
BUGS 虽然的 cron的要求,在以一个crontab端中的每个条目 换行符下, 无论是crontab命令,也不是cron守护程序会检测到这种 错误。代替, 在crontab看似正常加载。但是,命令 永远不会运行。 最好的选择是,以确保您的crontab中有一个空白行中 的端部。强>
(我的强调)。
我觉得〜unutbu的答案可能是正确的,如果它不运行的第二份工作。
然而另一个要检查是/webapps/bar/manage.py
是否需要独占访问任何资源,例如网络套接字/临时文件等。由于你在同一时刻开始处理2,则可能会触发一个争用条件。