我编写了一个脚本,它从solr获取数据,其日期在指定的时间段内,并且我使用每日cron运行脚本.
问题是cronjob没有完成任务.如果我手动运行脚本(在相同的时间段内),它运行良好.如果我减少指定的时间段,脚本也会从cron运行.所以我的猜测是cronjob在运行脚本时超时是否需要处理很多数据.
如何增加cronjob的超时?
PS - 1.我在cronjob中运行的脚本是一个运行python脚本的bash脚本.
请注意,ulimit -t
建议的解决方案将限制使用的CPU时间量,而不是已经过的实际时间量.
从bash
联机帮助页:
ulimit [-HSTabcdefilmnpqrstuvx [limit]] ... -t The maximum amount of cpu time in seconds
更重要的是,cron首先不会施加任何超时.它只是启动任何过程并继续前进.
顺便说一句:很抱歉发布这个作为答案,但我还没有足够的积分来添加评论.
在运行脚本之前,您可以尝试在cronjob中使用ulimit -t [秒数].