Skip to content

ADM-013-1 birthday_seed_run(スロカレ標準 URL でシード実行) ​

概要 ​

スロカレ標準 URL から誕生日データを取得し db_birthday へ一括投入する。実行後に直近挿入レコード(最大 50 件)と処理統計を返す。クールダウン中または実行中はブロックされる。

POST パラメータ ​

フィールド必須型・制約説明
action○文字列birthday_seed_run
nonce○文字列birthday_seed_admin で発行した nonce

成功時 data ​

論理名物理名型説明
メッセージmessagestringMessages::BIRTHDAY_SEED_RUN_SUCCESS(処理件数・挿入件数を埋め込んだ文言)
処理件数processedintシードサービスが処理したエントリ数
挿入件数insertedintDB に実際に挿入されたエントリ数
直近レコード一覧recent_recordsarray(最大 50 件)直近挿入レコードの配列(下表参照)
クールダウン秒数cooldown_secondsint次回実行可能になるまでの秒数(HOUR_IN_SECONDS = 3600)

recent_records の各要素 ​

論理名物理名型
IDidint
月monthint
日dayint
区分divistring
キャラ名charastring
作品名titlestring

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

条件message の内容
AJAX コンテキストでないMessages::AUTH_FAILED
nonce 不正Messages::AUTH_FAILED
manage_options 権限なしMessages::PERMISSION_DENIED
クールダウン中Messages::BIRTHDAY_SEED_COOLDOWN_ACTIVE(残時間の文言付き)
実行中ロック取得失敗Messages::BIRTHDAY_SEED_RUN_IN_PROGRESS
シードサービスで \Throwable例外コードに応じた固定文言(取得失敗は BirthdaySeedMessages::FETCH_FAILED、それ以外は RUN_FAILED)。例外メッセージは返さない

補足: 成功時は set_transient( 'birthday_seed_cooldown', time(), HOUR_IN_SECONDS ) でクールダウンを設定し、finally ブロックで実行中ロック(BirthdaySeedRunLock::release())を必ず解放する。error_log には [BirthdaySeedAdminPage][ajax_run_seed] 先頭で例外クラス名とコードだけを記録する。