Skip to content

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

概要

任意の URL を指定してスロカレ互換のデータを取得し db_birthday へ一括投入する。開発・検証用途でも利用可能。クールダウン中または実行中はブロックされる。

POST パラメータ

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

成功時 data

論理名物理名説明
メッセージmessagestringMessages::BIRTHDAY_SEED_URL_RUN_SUCCESS(処理件数・挿入件数を埋め込んだ文言)
処理件数processedintシードサービスが処理したエントリ数(result['processed']
挿入件数insertedintDB に実際に挿入されたエントリ数(result['inserted']
挿入エントリ数fetched_rows_insertedint取得行のうち挿入されたエントリ数(result['inserted_entries']
スキップエントリ数fetched_rows_skippedint取得行のうちスキップされたエントリ数(result['skipped_entries']
取得行総数fetched_rows_totalint取得行の総数(result['processed']
クールダウン秒数cooldown_secondsint次回実行可能になるまでの秒数(HOUR_IN_SECONDS = 3600

失敗・ブロック(success: falsedata に含み得るキー)

条件message の内容
AJAX コンテキストでないMessages::AUTH_FAILED
nonce 不正Messages::AUTH_FAILED
manage_options 権限なしMessages::PERMISSION_DENIED
url が空Messages::BIRTHDAY_SEED_URL_REQUIRED
クールダウン中Messages::BIRTHDAY_SEED_COOLDOWN_ACTIVE(残時間の文言付き)
実行中ロック取得失敗Messages::BIRTHDAY_SEED_RUN_IN_PROGRESS
シードサービスで \InvalidArgumentException例外の getMessage() をそのまま返す
シードサービスで \Throwable例外の getMessage()error_log[BirthdaySeedAdminPage][ajax_run_seed_by_url] 先頭で記録)

補足: 成功時は set_transient( 'birthday_seed_cooldown', time(), HOUR_IN_SECONDS ) でクールダウンを設定し、finally ブロックで delete_option( 'birthday_seed_cooldown_running' ) を必ず実行する。\InvalidArgumentException は URL 不正など呼び出し側の入力エラーを想定し、そのままメッセージを返す。