2009-06-04 10 views
0

がタイムアウトしているようですでる。私はそれが死んPHPいないことを確認するためにset_time_limit()および関連php.iniの設定を使用しました、とは/ var/log/cronが私には、通常になります。cronジョブは、rootのcrontabに設定し、次のcronジョブを持って

6月4日は、午前10時02分01秒foobarにはcrond [12138]:(根)CMD([スニップ])

なぜcronjobが死ぬのだろうか?

+0

サーバーログに、スクリプトにアクセスするcURLが表示されていますか? – ceejayoz

+0

はい。私はまた、どのレコードが更新されたか、どのレコードが更新されていないかを示す増分ステータス更新を示すログファイル(書き込み可能)に出力を配管しています。 – Kyle

答えて

1

私はそれを考え出した - カールの進捗状況の統計を:

(100 65622 0 65622 0  0 1039  0 --:--:-- 0:01:03 --:--:-- 1927) 

は、何らかの理由でstderrに書かれていた - それを修正し、コマンドの末尾に> & 1 2を追加:

2 * * * * /usr/bin/curl --basic --user 'user:pass' http://localhost/cron/do_some_action > /var/www/app/cronlog.log 2>&1 

すべての洞察をみんなに感謝します!

1

ユーザーを追加

02 * * * *ルートは/ usr/binに/ --basic --userカール 'ユーザー:パス' http://localhost/not/porn> /var/www/app/filethatrootcanwriteto.log

+0

私はcronジョブ*が実行されることを明確にすべきです、それはちょうど最終的にタイムアウトします。しかし、私はこれを試してみます。ありがとうございました。 – Kyle

+0

また、エラーのあるメールルートですか? –

+0

@tristan nope -/usr/bin/curlという接頭辞を付けて実行していますが、今まで見たことのある唯一のエラーを投げました – Kyle

0

2つのphp.iniファイルがあり、1つはapache用、もう1つはCLI用です。

locate php.iniの両方を見つける必要があります。私は最初にチェックすることをお勧めします。

+0

ありがとうございます - 既にチェックされており、そのことを再度確認しました。スクリプトは手動で起動されたときにはタイムアウトしません。ただし、cronが起動を担当するときだけです。 – Kyle

0

これは、curlがステータスを早めに返すのを防ぐために、ob_start()およびob_end_flush()を使用してPHP出力をバッファすることによっても回避できます。

関連する問題