Skip to content

ADM-013-2 birthday_seed_run_by_url(指定 URL でシード実行) ​

概要 ​

スロカレの作品アーカイブ URL(https://sulocale.sulopachinews.com/archives/<数字>)を指定してデータを取得し db_birthday へ一括投入する。実行中(全件シード・REST 取込を含む)はブロックされる。1 時間のクールダウンは全件シード(ADM-013-1)のみで、URL 指定取得には掛からない(Issue #3892)。

POST パラメータ ​

フィールド必須型・制約説明
action○文字列birthday_seed_run_by_url
nonce○文字列birthday_seed_admin で発行した nonce
url○文字列(非空、sanitize 後も非空)シードデータ取得先 URL

成功時 data ​

論理名物理名型説明
メッセージmessagestringBirthdaySeedMessages::URL_RUN_SUCCESS(処理件数・挿入件数を埋め込んだ文言)
処理件数processedintシードサービスが処理したエントリ数(result['processed'])
挿入件数insertedintDB に実際に挿入されたエントリ数(result['inserted'])
挿入エントリfetched_rows_insertedarray取得行のうち挿入されたエントリ(result['inserted_entries'])
スキップエントリfetched_rows_skippedarray取得行のうちスキップされたエントリ(result['skipped_entries'])
取得行総数fetched_rows_totalint取得行の総数(result['processed'])
新規作成した作品名created_titlesarray作品名マスタに新規作成された作品名(result['created_titles'])

失敗・ブロック(success: false の data に含み得るキー) ​

条件message の内容
AJAX コンテキストでないMessages::AUTH_FAILED
nonce 不正Messages::AUTH_FAILED
manage_options 権限なしMessages::PERMISSION_DENIED
url が空BirthdaySeedMessages::URL_REQUIRED
実行中ロック取得失敗BirthdaySeedMessages::RUN_IN_PROGRESS
URL 不正(ERROR_URL_INVALID)BirthdaySeedMessages::URL_INVALID
誕生日一覧ページではないBirthdaySeedMessages::URL_PAGE_TITLE_INVALID
取得失敗(ERROR_FETCH_FAILED)BirthdaySeedMessages::FETCH_FAILED
抽出 500 件超(ERROR_TOO_MANY_ROWS)BirthdaySeedMessages::TOO_MANY_ENTRIES(1 件も登録しない)
上記以外の例外BirthdaySeedMessages::RUN_FAILED(例外メッセージは返さない)

補足: 例外時は例外クラス名とコードだけを error_log に [BirthdaySeedAdminPage][ajax_run_seed_by_url] 先頭で記録する。成功時は wp_options の birthday_sulocale_last_import_at に取込日時を記録し(ops-status/v1/birthday が参照)、finally で実行中ロック(BirthdaySeedRunLock::release())を必ず解放する。