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 に答える