Skip to content

ADM-001-8 pworld_archive_cron_settings_save ​

← EP-一覧 · 共通前提

概要 ​

定期取得および TTL 系(本文・GIF) のオプションを保存し、Cron の再スケジュールまで行う。

POST パラメータ(すべて任意・未指定キーは既存値維持) ​

PworldArchiveCronSettings::save_from_post に渡されるキー:

キー意味
scheduled_fetch_enabled定期取得 ON/OFF
scheduled_fetch_limit1〜500 にクランプ
ttl_enabled / ttl_dry_run / ttl_retention_days / ttl_batch_limitメール本文 TTL 系
gif_ttl_enabled / gif_ttl_dry_run / gif_ttl_retention_days / gif_ttl_batch_limitGIF TTL 系

真偽値は to_bool により '1', 'true', 'yes', 'on'(大文字小文字無視)等を許容。

成功後 PworldArchiveCronScheduler::reschedule_all_slots() を実行。登録済みの pworld_archive_scheduled_job を引数に関係なくすべて解除し、定期取得・メール本文 TTL・GIF TTL のいずれかが有効なら各 slot を 1 件ずつ登録し直す。予定時刻を過ぎてまだ実行されていない回は元の時刻のまま残し、その日の実行が翌日に回らないようにする。3 つとも無効なら予定は 0 件になる。

クライアント確認(GIF TTL) ​

管理画面 JS は、次のいずれかに該当する保存の直前に window.confirm を表示する(キャンセル時は AJAX を送らない)。サーバ側の権限・nonce・POST 契約は変わらない。

  • GIF TTL を新たに有効化する
  • GIF TTL 有効かつ dry-run オフ(実削除モード)で保存する
  • GIF TTL 有効かつ保持日数を短縮して保存する

確認文言には dry-run / 保持日数 / 1 回あたり最大処理件数の意味が含まれる。

wp_optionsテーブルからデータ取得 ​

設定保存先は WordPress option ストアである。

カラム名where検索値
option_name○action(pworld_archive_cron_settings_save)
option_value

成功時 data ​

論理名物理名型
メッセージmessagestring(PworldArchiveCopy::PWORLD_ARCHIVE_CRON_SETTINGS_SAVED)

失敗 ​

save_from_post または reschedule_all_slots 等で例外が発生した場合、wp_send_json_error により success: false。data には少なくとも次が含まれる。

論理名物理名型
メッセージmessagestring(PworldArchiveCopy::PWORLD_ARCHIVE_CRON_SETTINGS_SAVE_FAILED)

(実装上は catch でログ出力のうえ上記メッセージを返す。権限不足・nonce 失敗は 共通前提 に従う。)