Appearance
ADM-001-2 pworld_archive_job_status
概要
手動取得ジョブの状態をポーリングする。完了時はジョブ結果に加え、指定に応じてメール一覧ペイロード(recent / mail_list_*)をマージして返し得る。
POST パラメータ
| フィールド | 必須 | 説明 |
|---|---|---|
job_id | ○ | ポーリング対象のジョブ ID(空は不可) |
mail_list_subject_search | 任意 | 完了時に一覧をマージする場合の件名検索(ajax_mail_list と同じ解釈) |
mail_list_date_from / mail_list_date_to | 任意 | 受信日範囲フィルタ(Y-m-d) |
wp_optionsテーブルからデータ取得
| カラム名 | where | 検索値 |
|---|---|---|
option_name | ○ | job_id |
option_value |
pworld_mail_archiveテーブルからデータ取得
| カラム名 | where | 検索値 |
|---|---|---|
subject | ○ | mail_list_subject_search |
received_date | ○ | mail_list_date_from, mail_list_date_to |
created_at |
成功時 data(ジョブ状態 running)
| 論理名 | 物理名 | 型 |
|---|---|---|
| ジョブ状態 | status | string(固定値 running) |
| メッセージ | message | string(PworldArchiveCopy::PWORLD_ARCHIVE_JOB_RUNNING) |
成功時 data(ジョブ状態 done)
ジョブ完了時は、集計値に加え メール一覧(build_mail_list_ajax_payload_for_page と同形)をマージして返す。一覧マージに失敗しても 成功レスポンス本体は維持され、ログに記録されるのみ。
mail_list_per_page の意味および recent の要素数については ADM-001-13 pworld_archive_mail_list を参照(本 done 応答と同一の一覧ペイロードである)。
| 論理名 | 物理名 | 型 |
|---|---|---|
| ジョブ状態 | status | string(固定値 done) |
| サマリメッセージ | message | string(取得・保存・スキップ件数を含む整形文言) |
| 取得件数 | fetched | int |
| 保存件数 | saved | int |
| スキップ件数 | skipped | int |
| クールダウン秒 | cooldown_seconds | int(実装定数 COOLDOWN_SECONDS、概ね 60) |
| 一覧行データ | recent | object の配列(管理画面一覧 1 行。entity_to_admin_row_array 相当) |
| 一覧総件数 | mail_list_total | int |
| 一覧ページ番号 | mail_list_page | int |
| 1 ページあたり件数 | mail_list_per_page | int(20) |
| 一覧総ページ数 | mail_list_total_pages | int |
| 表示範囲(開始) | mail_list_showing_from | int |
| 表示範囲(終了) | mail_list_showing_to | int |
| フィルタ有効 | mail_list_filter_active | bool |
| 件名検索(エコー) | mail_list_subject_search | string |
| 受信日 From(エコー) | mail_list_date_from | string(未指定時は空文字) |
| 受信日 To(エコー) | mail_list_date_to | string(未指定時は空文字) |
失敗
success: false のとき、data に少なくとも message(汎用エラー)が含まれる。ジョブ状態が error 等のときは error_detail に内部メッセージ文字列が付く場合あり。
| 条件 | メッセージ例 |
|---|---|
job_id 不一致・状態なし | PworldArchiveCopy::PWORLD_ARCHIVE_JOB_NOT_FOUND |
done だが result が壊れている | PworldArchiveCopy::PWORLD_ARCHIVE_RUN_ERROR |