【问题标题】:How do I increase timeout for a cronjob/crontab?如何增加 cronjob/crontab 的超时时间?
【发布时间】:2009-03-01 10:10:44
【问题描述】:

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

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

如何增加 cronjob 的超时时间?

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

【问题讨论】:

    标签: timeout cron


    【解决方案1】:

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

    来自bash 联机帮助页:

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

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


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

    【讨论】:

      【解决方案2】:

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

      【讨论】:

        猜你喜欢
        • 2019-07-11
        • 1970-01-01
        • 1970-01-01
        • 2010-10-31
        • 1970-01-01
        • 1970-01-01
        • 2014-10-22
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多