12

我编写了一个脚本,该脚本从solr获取日期在指定时间段内的数据,并将该脚本用作每日 cron 运行。

问题是 cronjob 没有完成任务。如果我手动运行脚本(在同一时间段内),它运行良好。如果我减少指定的时间段,脚本也会从 cron 运行。所以我的猜测是 cronjob 在运行脚本时超时,因为有很多数据要处理。

如何增加 cronjob 的超时时间?

PS - 1. 我在 cronjob 中运行的脚本是一个运行 python 脚本的 bash 脚本。

4

2 回答 2

20

请注意,ulimit -t建议的解决方案将限制使用的 CPU 时间量,而不是已经过去的实际时间量。

bash手册页:

ulimit [-HSTabcdefilmnpqrstuvx [limit]]
...
-t     The maximum amount of cpu time in seconds

更重要的是,cron 一开始并没有强加任何超时。它只是启动任何过程并继续前进。


顺便说一句:很抱歉将其发布为答案,但我还没有足够的积分来添加评论。

于 2010-10-15T18:43:56.213 回答
5

在运行脚本之前,您可以尝试在 cronjob 中使用ulimit -t [秒数]。

于 2009-03-01T10:17:49.763 回答