0

while() ループを継続的に実行するスクリプト、execute.php があります。特定の時間に開始するためにCronを介して最初にトリガーされ、開始時間と終了時間を詳細に示すMySQLテーブルによって制御される所定の終了時間に達するまで、whileループ(定期的にスリープ)を実行します。

スクリプトの各ループで、現在のタイムスタンプを DB テーブルに入れます。その後、Cron タスクを 5 分ごとに実行し、スクリプトがクラッシュしていないことを確認し、クラッシュしている場合は、execute.php に再度アクセスして再起動します。明らかに、タイムスタンプ テーブルをチェックして 2 分以上経過していないことを確認する check.php のようなものを実行するように Cron タスクを設定できますが、そのスクリプトを execute.php で再起動するにはどうすればよいでしょうか。

私が考えることができる唯一の解決策は、check.php に新しい Cron タスクを数秒先にスケジュールさせて、execute.php を実行させることですが、これは扱いにくいようです。問題の核心は、ある PHP スクリプトをこのコンテキストで別の PHP スクリプトを実行させる方法はあるのかということです。

ありがとう。

4

1 に答える 1

0

このロック ロジック全体を php スクリプトに移動できます。必要なものはすべて揃っているので (データベース資格情報、テーブル名を含む構成ファイルなど)、次のように構成します。

  1. データベースの接続、セットアップのロードなど...
  2. 最終更新時刻と現在時刻の差を確認する
  3. 鮮度が足りexit
    ない場合 鮮度が足りない場合while()

monitgodのようなものをサーバーにインストールできる場合、または単にinitを respawn 行で使用できる場合、さまざまなデーモン管理ソフトウェアがあります。

于 2013-07-06T15:44:06.413 に答える