Skip to content

ADM-001-2 pworld_archive_job_status

← EP-一覧 · 共通前提

概要

手動取得ジョブの状態をポーリングする。完了時はジョブ結果に加え、指定に応じてメール一覧ペイロード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_namejob_id
option_value

pworld_mail_archiveテーブルからデータ取得

カラム名where検索値
subjectmail_list_subject_search
received_datemail_list_date_from, mail_list_date_to
created_at

成功時 data(ジョブ状態 running

論理名物理名
ジョブ状態statusstring(固定値 running
メッセージmessagestring(PworldArchiveCopy::PWORLD_ARCHIVE_JOB_RUNNING
開始時刻started_atint|null(Unix 秒。PworldArchiveJobState の開始時刻)

stale 自動復旧(Issue #2007)

running のまま PworldArchiveJobState::STALE_THRESHOLD_SECONDS(720 秒、MAX_RUNTIME_SECONDS 600 + 余裕)を超えた場合、本エンドポイントは状態を error に更新し、失敗レスポンスを返す(ポーリング中の自動復旧)。

論理名物理名
メッセージmessagestring(PworldArchiveCopy::PWORLD_ARCHIVE_JOB_STALE_TIMEOUT
詳細error_detailstring(同上)
エラーコードerror_codestring(固定値 job_stale_timeout
開始時刻started_atint|null(復旧前の開始時刻)

成功時 data(ジョブ状態 done)— 手動 IMAP 取得(job_type=imap_fetch

ジョブ完了時は、集計値に加え メール一覧build_mail_list_ajax_payload_for_page と同形)をマージして返す。一覧マージに失敗しても 成功レスポンス本体は維持され、ログに記録されるのみ。

mail_list_per_page の意味および recent の要素数については ADM-001-13 pworld_archive_mail_list を参照(本 done 応答と同一の一覧ペイロードである)。

論理名物理名
ジョブ状態statusstring(固定値 done
サマリメッセージmessagestring(取得・保存・スキップ件数を含む整形文言)
取得件数fetchedint
保存件数savedint
スキップ件数skippedint
クールダウン秒cooldown_secondsint(実装定数 COOLDOWN_SECONDS、概ね 60)
一覧行データrecentobject の配列(管理画面一覧 1 行。entity_to_admin_row_array 相当)
一覧総件数mail_list_totalint
一覧ページ番号mail_list_pageint
1 ページあたり件数mail_list_per_pageint(20
一覧総ページ数mail_list_total_pagesint
表示範囲(開始)mail_list_showing_fromint
表示範囲(終了)mail_list_showing_toint
フィルタ有効mail_list_filter_activebool
件名検索(エコー)mail_list_subject_searchstring
受信日 From(エコー)mail_list_date_fromstring(未指定時は空文字)
受信日 To(エコー)mail_list_date_tostring(未指定時は空文字)

成功時 data(ジョブ状態 done)— バルク記事連携(job_type=bulk_article_link、Issue #2052)

論理名物理名
ジョブ状態statusstring(固定値 done
メッセージmessagestring(PWORLD_BULK_ARTICLE_LINK_SUCCESS、更新件数付き)
更新件数updated_countint

上記に加え、メール一覧ペイロードrecent / mail_list_*)をマージする。ページ・フィルタはジョブ params(開始時に保存)と POST を併用。一覧マージ失敗時も成功本体は維持。

running 時の message は job_type に応じて PWORLD_ARCHIVE_JOB_RUNNING または PWORLD_BULK_ARTICLE_LINK_JOB_RUNNING

失敗

success: false のとき、data に少なくとも message(汎用エラー)が含まれる。ジョブ状態が error 等のときは error_detail に内部メッセージ文字列が付く場合あり。

条件メッセージ例
job_id 不一致・状態なしPworldArchiveCopy::PWORLD_ARCHIVE_JOB_NOT_FOUND
done だが result が壊れているPworldArchiveCopy::PWORLD_ARCHIVE_RUN_ERROR
running が stale(job_stale_timeoutPworldArchiveCopy::PWORLD_ARCHIVE_JOB_STALE_TIMEOUT
bulk ジョブが errorPworldArchiveCopy::PWORLD_BULK_ARTICLE_LINK_FAILED