Appearance
ADM-013-1 birthday_seed_run(スロカレ標準 URL でシード実行)
概要
スロカレ標準 URL から誕生日データを取得し db_birthday へ一括投入する。実行後に直近挿入レコード(最大 50 件)と処理統計を返す。クールダウン中または実行中はブロックされる。
POST パラメータ
| フィールド | 必須 | 型・制約 | 説明 |
|---|---|---|---|
action | ○ | 文字列 | birthday_seed_run |
nonce | ○ | 文字列 | birthday_seed_admin で発行した nonce |
成功時 data
| 論理名 | 物理名 | 型 | 説明 |
|---|---|---|---|
| メッセージ | message | string | Messages::BIRTHDAY_SEED_RUN_SUCCESS(処理件数・挿入件数を埋め込んだ文言) |
| 処理件数 | processed | int | シードサービスが処理したエントリ数 |
| 挿入件数 | inserted | int | DB に実際に挿入されたエントリ数 |
| 直近レコード一覧 | recent_records | array(最大 50 件) | 直近挿入レコードの配列(下表参照) |
| クールダウン秒数 | cooldown_seconds | int | 次回実行可能になるまでの秒数(HOUR_IN_SECONDS = 3600) |
recent_records の各要素
| 論理名 | 物理名 | 型 |
|---|---|---|
| ID | id | int |
| 月 | month | int |
| 日 | day | int |
| 区分 | divi | string |
| キャラ名 | chara | string |
| 作品名 | title | string |
失敗・ブロック(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 | エラーメッセージ(error_log に [BirthdaySeedAdminPage][ajax_run_seed] 先頭で記録) |
補足: 成功時は set_transient( 'birthday_seed_cooldown', time(), HOUR_IN_SECONDS ) でクールダウンを設定し、finally ブロックで delete_option( 'birthday_seed_cooldown_running' ) を必ず実行する。