Zend ジョブキュー API

Zend Server のジョブキュー機能を PHP から使用するための API です。
ZendJobQueue クラスへジャンプ   ZendJobQueueException クラスへジャンプ   定数表を開く

ディレクティブ

ディレクティブ既定値 初出Ver最終Ver 説明
zend_jobqueue.enable1 5.07.0 ジョブキューを有効にする
zend_jobqueue.daemon_connection_timeout(説明
参照)
ジョブキュー・デーモンへの既定の接続タイムアウト(秒単位)
既定値は、Ver 7.0 では 30、Ver 6.1 以前は 10
zend_jobqueue.log_verbosity_level2ログ冗長レベル。詳しくは、Zend Util API 参照
zend_jobqueue.log_rotation_size10ログファイルの最大サイズ (MB 単位)。 超過するとローテートします
zend_jobqueue.utf8_encoding1 6.1 UTF-8 エンコードを使用
zend_jobqueue.named_queues  5.06.1 ジョブキュー名でバインディングの代わりに別名を使用できるようにします
zend_jobqueue.default_binding(説明
参照)
ジョブキュー・デーモンへの既定のバインディング。
既定値は、Linux の場合 unix://jobqueue.sock、Windows の場合 tcp://127.0.0.1:10085
上記のほか、デーモン設定用のディレクティブ(説明は英語のみ) が存在します。

ZendJobQueue クラスのメソッド

__construct(string $binding = NULL)
ジョブキュー・デーモンに接続する ZendJobQueue オブジェクトを作成します。
(初出 Ver : 5.0 - 最終 Ver : 7.0)
引数必須/任意説明
binding文字列任意 デーモンに接続するために使用する URL。指定しない場合は、既定のバインディング


int createHttpJob (string $url, array $vars, mixed $options)
指定する $url を指定する $vars でジョブキュー・デーモンが呼び出しできるように URL ベースのジョブを新規作成します。
(初出 Ver : 5.0 - 最終 Ver : 7.0)
引数必須/任意説明
url文字列必須呼び出すスクリプトの絶対 URL
vars配列必須 スクリプトに渡される連想配列。 この配列の合計サイズは、zend_jobqueue.max_message_size ディレクティブで定義された サイズ以下にしなければいけません。
options混合必須 追加オプションの連想配列。下記のオプションがサポートされます。
オプション説明
name文字列任意のジョブ名
priority整数ジョブの優先度
predecessor整数先行するジョブの ID
persistentboolTRUE の場合、履歴に永遠に保持
schedule_timeジョブが実行される時刻
schedulecron 風のスケジュール用コマンド
http_headers配列追加の HTTP ヘッダーの配列
job_timeoutタイムアウト
queue_nameジョブに割り当てるキュー

返り値:ジョブの状態

array getJobStatus(int $job_id)
前に作成されたジョブの状態を取得します。
(初出 Ver : 5.0 - 最終 Ver : 7.0)
引数必須/任意説明
job_id整数必須ジョブ ID
返り値:ジョブの状態ジョブの完了状態およびジョブの出力を含む配列

boolean removeJob(int $job_id)
キューからジョブを取り除きます。従属するジョブ全てが失敗します。 ジョブが実行中の場合は完了しますが、従属するジョブは実行されません。 存在しないジョブの場合、 false を返します。 完了したジョブは、データベースから取り除かれます。
(初出 Ver : 5.0 - 最終 Ver : 7.0)
引数必須/任意説明
job_id整数必須ジョブ ID
返り値:成功した場合に TRUE、失敗した場合に FALSE

boolean restartJob(int $job_id)
先行して実行されるジョブ、およびその従属ジョブをすべて再開します。
(初出 Ver : 5.0 - 最終 Ver : 7.0)
引数必須/任意説明
job_id整数必須ジョブ ID
返り値:成功した場合に TRUE、失敗した場合に FALSE

boolean isSuspended()
ジョブキューが一時停止中かどうかチェックします。
(初出 Ver : 5.0 - 最終 Ver : 7.0)
返り値:一時停止中の場合に TRUE、そうでない場合に FALSE

boolean isJobQueueDaemonRunning()
ジョブキュー・デーモンが実行中かどうかチェックします。
(初出 Ver : 5.0 - 最終 Ver : 7.0)
返り値:実行中の場合に TRUE、そうでない場合に FALSE

suspendQueue()
新規のジョブを受け付けられるようにジョブキューを一時停止しますが、それらのジョブは開始されません。 この関数呼び出しの際に実行中のジョブは完了まで実行されます。
(初出 Ver : 5.0 - 最終 Ver : 7.0)

resumeQueue()
キューに入れられたジョブをスケジュールして開始できるように、ジョブキューを再開します。
(初出 Ver : 5.0 - 最終 Ver : 7.0)

array getStatistics()
使用可能時間や各種のジョブ数など、内部のデーモン統計を返します。
(初出 Ver : 5.0 - 最終 Ver : 7.0)
返り値:統計値の連想配列

array getStatisticsByTimespan(int $time_span)
指定した期間に変更されたジョブのみをチェックして統計を返します。
(初出 Ver : 5.0 - 最終 Ver : 7.0)
引数必須/任意説明
time_span整数必須期間(秒単位)
返り値:統計値の連想配列

array getConfig()
ジョブキュー・デーモンの構成オプションの現在の値を返します。
(初出 Ver : 5.0 - 最終 Ver : 7.0)
返り値:構成変数の連想配列

array getQueues()
利用可能なキューの一覧を返します。
(初出 Ver : 5.6 - 最終 Ver : 7.0)
返り値:キュー情報の連想配列

boolean reloadConfig()
ジョブキュー・デーモンの構成ファイルを再読み取りして、再読み込み可能なディレクティブをすべて再読み込みします。
(初出 Ver : 5.0 - 最終 Ver : 7.0)
返り値:成功した場合に TRUE、失敗した場合に FALSE

array getJobInfo(int $job_id)
指定された ID でデーモンのデータベースからジョブのプロパティーの連想配列を返します。
(初出 Ver : 5.0 - 最終 Ver : 7.0)
引数必須/任意説明
job_id整数必須ジョブ ID

返り値:ジョブの詳細の配列。下記のプロパティーを含みます(常にすべてが含まれるわけではありません)
プロパティー説明
idジョブの識別子
typeジョブの種類
statusジョブの状態
priorityジョブの優先度
persistent持続フラグ
scriptURL
predecessor先行するジョブ
nameジョブ名
vars入力変数または引数
http_headersHTTPジョブ用の追加のHTTPヘッダー
outputジョブの出力
errorジョブのエラー出力
creation_timeジョブが作成された時刻
start_timeジョブが開始された時刻
end_timeジョブが終了した時刻
schedulecron 風のスケジュール用コマンド
schedule_timeジョブ実行がスケジュールされた時刻
app_idアプリケーション名
queue_nameキュー名


array getDependentJobs(int $job_id)
指定されたジョブに依存するジョブのプロパティの連想配列の一覧を返します。
(初出 Ver : 5.0 - 最終 Ver : 7.0)
引数必須/任意説明
job_id整数必須ジョブ ID
返り値:ジョブの一覧

array getJobsList(array $query, int $total)
指定した条件に適合するジョブのプロパティーの連想配列の一覧を返します。
(初出 Ver : 5.0 - 最終 Ver : 7.0)
引数必須/任意説明
query配列必須 条件を指定するために下記のキーを使用できます。
app_idアプリケーションを指定します
nameジョブ名を指定します
script指定した名前に類似するスクリプトのジョブを SQL の LIKE のように検索します
typeジョブの種類を指定します
priorityジョブの優先度を指定します
statusジョブの状態を指定します
rule_id指定したスケジューリング・ルールで生成されたジョブを検索します
scheduled_before指定した日付より前にスケジュールされたジョブを検索します
scheduled_after指定した日付より後にスケジュールされたジョブを検索します
executed_before指定した日付より前に実行されたジョブを検索します
executed_after指定した日付より後に実行されたジョブを検索します
sort_byソートの順序
sort_directionソートの昇順・降順
start指定した件数のジョブをスキップします
count指定した件数のジョブのみ取得します(既定値は 100)

total整数必須 指定した条件に適合するジョブの合計の件数。「start」および「count」プロパティーを無視します。
返り値:詳細付きのジョブ一覧

array getApplications()
デーモンが理解するアプリケーション名の配列を返します。
(初出 Ver : 5.0 - 最終 Ver : 7.0)
返り値:アプリケーションの一覧

array getSchedulingRules()
登録されたすべてのスケジューリング・ルールの連想配列を返します。
(初出 Ver : 5.0 - 最終 Ver : 7.0)
返り値:スケジューリング・ルールの一覧。各ルールは、下記のプロパティーの連想配列で表現されます。
プロパティー説明
idスケジューリング・ルール識別子
statusルールの状態(ジョブの状態をご覧下さい)
typeルールの種類(ジョブの種類をご覧下さい)
priorityこのルールで作成されたジョブの優先度
persistentこのルールで作成されたジョブの持続フラグ
scriptURL または実行するスクリプト
nameこのルールで作成されたジョブの名前
vars入力変数または引数
http_headers追加のHTTPヘッダー
schedulecron 風のスケジュール用コマンド
app_idこのルールと作成されたジョブに関連するアプリケーション名
last_runこのルールが実行された最終時刻
next_runこのルールが実行される次回の時刻


array getSchedulingRule(int $rule_id)
指定されたID のスケジューリング・ルールのプロパティの連想配列を返します。
(初出 Ver : 5.0 - 最終 Ver : 7.0)
引数必須/任意説明
rule_id整数必須ルール ID
返り値:スケジューリング・ルールの連想配列。プロパティーの一覧は getSchedulingRules()と同様です。

boolean deleteSchedulingRule(int $rule_id)
指定された ID のスケジューリング・ルールと、このルールで作成されたスケジュールされたジョブを削除します。
(初出 Ver : 5.0 - 最終 Ver : 7.0)
引数必須/任意説明
rule_id整数必須ルール ID
返り値:成功した場合に TRUE、失敗した場合に FALSE

boolean suspendSchedulingRule(int $rule_id)
指定された ID のスケジューリング・ルールを一時停止し、このルールで作成されたスケジュールされたジョブを削除します。
(初出 Ver : 5.0 - 最終 Ver : 7.0)
引数必須/任意説明
rule_id整数必須ルール ID
返り値:成功した場合に TRUE、失敗した場合に FALSE

boolean resumeSchedulingRule(int $rule_id)
指定された ID のスケジューリング・ルールを再開し、対応するスケジュールされたジョブを作成します。
(初出 Ver : 5.0 - 最終 Ver : 7.0)
引数必須/任意説明
rule_id整数必須ルール ID
返り値:成功した場合に TRUE、失敗した場合に FALSE

boolean updateSchedulingRule(int $rule_id, string $script, array $vars, array $options)
既存のスケジューリング規則を更新して、再スケジュールします。
(初出 Ver : 5.0 - 最終 Ver : 7.0)
引数必須/任意説明
rule_id整数必須ルール ID
script文字列必須リクエストする URL
vars配列必須入力変数
options配列必須 追加オプションの連想配列。詳しくは、createHttpJob メソッドの $options をご覧ください
返り値:成功した場合に TRUE、失敗した場合に FALSE

array getCurrentJobParams()
HTTP ジョブに渡された入力変数の配列をデコードします。
(初出 Ver : 5.0 - 最終 Ver : 7.0)
返り値:ジョブ変数

setCurrentJobStatus
デーモンにジョブの完了状態を報告します。
(初出 Ver : 5.0 - 最終 Ver : 7.0)
引数必須/任意説明
completion整数必須ジョブの完了状態
msg文字列必須オプションの説明メッセージ


getCurrentJobId
現在のジョブ ID を返します。ジョブ・コンテキスト内で呼ばれていない場合は NULL を返します。
(初出 Ver : 5.0 - 最終 Ver : 7.0)
返り値:ジョブ ID

ZendJobQueueException クラスのメソッド

関数名 (初出Ver - 最終Ver) 説明
getCode (5.0 - 7.0) 例外コードを取得します。 返り値:例外コード
getMessage (5.0 - 7.0) 例外メッセージを取得します。 返り値:例外メッセージ