1

コントローラーを含むMVCフレームワークがあります。コントローラがサーバーから画像をダウンロードします。5分ごとにこれらの画像でデータベースを更新する必要があります。そこで、ファイルをダウンロードしてデータベースに保存するphpスクリプトを作成することを計画しました。これを5分ごとに行うため。cronジョブを設定します。

さて、問題は、

  1. PHPスクリプト内のエラーを処理するためのベストプラクティスは何ですか?

    Cronは、最後にクエリされたイメージがすでに失われていて保存されていないことを知らなくても、5分ごとに実行を続けるためです。

  2. 何か異常が発生したことを自分自身に通知するにはどうすればよいですか。DBの整合性を自分で維持する必要があります(これは、いくつかのインスタンスでは気になりません)。

4

3 に答える 3

1

PHPスクリプト内のエラーを処理するためのベストプラクティスは何ですか?Cronは、最後にクエリされたイメージがすでに失われていて保存されていないことを知らなくても、5分ごとに実行を続けるためです。

ここで説明されているようにassertを使用します:http://php.net/manual/en/function.assert.php

何か異常が発生したことを自分自身に通知するにはどうすればよいですか。DBの整合性を自分で維持する必要があります(これは、いくつかのインスタンスでは気になりません)。

アサートでmail()を使用する

于 2012-08-29T20:53:07.040 に答える
1

データベーストランザクションと一緒にtry-catchを使用します(可能な場合)。エラーをerror_log()にダンプし、電子メールを生成するように設定するか、エラーハンドラーに電子メールを追加することができます。

于 2012-08-29T20:53:38.470 に答える
1

他のコメントに加えて。問題が発生したり、複数の実行インスタンスが実行される可能性がある実行間隔よりも長くかかる可能性があるcronスクリプトで、最後の実行時間や実行の成功などを示すテキストファイルを提供すると便利なことがよくあります。スクリプトをスケジュールどおりに実行する必要があるかどうかを確認します。スクリプトの開始時にファイルを書き込み、実行が成功するとファイルを削除し、次の実行時にこのファイルをチェックして実行するかどうかを決定するだけの簡単なものにすることができます。

于 2012-08-29T21:00:33.970 に答える