現在、システムで cron ジョブを設定および編集するためのインターフェースとして、優れたスケジューラー システムを構築しようとしています。私のシステムは、Linux サーバー上で Zend フレームワーク 1.11.11 を使用して構築されています。
あなたの提案が欲しい2つの主な問題があります。
問題 1: アプリケーション自体のセットアップ
cron ジョブを実行するには 2 つの方法があります。
最初の方法は、フォルダー
scripts
を作成し、その中に必要なリソースのみを読み込む共通のブートストラップ ファイルを作成することです。次に、タスクごとに個別のスクリプトを作成し、各スクリプトにブートストラップ ファイルを含めます。最後に、これらのスクリプトごとに crontab ファイルに cron タスクを追加します。タスクは***** php /path/to/scripts/folder/cronScript_1.php
.次に、cron ジョブを通常のリクエストのように扱います (特別なブートストラップはありません)。これらのスクリプトごとに crontab ファイルに cron タスクを追加すると、タスクは次のようになります
***** curl http://www.mydomain.com/module/controller/action
。
問題 2: アプリケーションへのインターフェース
cron ジョブを追加するには、次の 2 つの方法があります。
タスクごとに、crontab ファイルにエントリがあります。新しいタスクを追加したいときは、cPanel またはその他の方法で crontab を編集する必要があります (利用できない場合があります)。
タスクをデータベースに保存し、データベースと対話するための UI を提供します (いくつかのタスクと構成を追加するためのグリッド)。その後、毎分実行される crontab ファイルに 1 つの cron ジョブのみを書き込みます。このジョブは、データベースからすべてのジョブを選択し、今すぐ実行する必要があるジョブがあるかどうかを確認します (タスクの時間が保存され、サーバーの現在の時間と比較されます)。
各部分にどの方法を実装するのが良いと思いますか? これに対して、一般的に優れた既製のソリューションはありますか??
ノート
既製のソリューションを探しているQuartzに出くわしました。これは私が探しているものですか、それともまったく違うものですか?
ありがとう。