2009-03-01 25 views
11

私はsolrから指定された期間内のデータを取得するスクリプトを書いており、毎日のcronとしてスクリプトを実行しています。cronjob/crontabのタイムアウトを増やすにはどうすればよいですか?

問題はcronjobがタスクを完了しないことです。スクリプトを手動で(同じ時間帯に)実行するとうまくいきます。指定した時間を短縮すると、スクリプトはcronからも実行されます。だから私の推測では、スクリプトを実行している間にcronjobが時間切れになっているため、処理するデータが多くあります。

どのようにしてcronjobのタイムアウトを増やすことができますか?

PS - 1.私はcronjobで実行しているスクリプトは、Pythonスクリプトを実行するbashスクリプトです。

答えて

5

スクリプトを実行する前に、クローンジョブでulimit -t [秒数]を試してみることができます。

18

提案されているulimit -t解決策は、実際に経過した時間ではなく、使用されたCPU時間を制限することに注意してください。

bash manページから:

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

そして、もっと重要なのは、cronが最初の場所で任意のタイムアウトを課しません。どのようなプロセスや動きでも簡単に始まります。


私は答えとしてこれを投稿して申し訳ありませんが、まだコメントを追加するには十分なポイントがありません。

関連する問題