<?php
if ( ! defined( 'ABSPATH' ) ) {
    exit;
}

/**
 * AIAP_Lock のロックキー定数。
 *
 * 旧コードはロックキー文字列 ('scheduler_run' 等) を各所に直書きしていた。
 * acquire 側と release 側でキーがずれると「取得したロックを解放できない」
 * といった発見しづらい不具合に直結するため、キーはこのクラスの定数に集約する。
 *
 * 各キーの用途:
 *   SCHEDULER_RUN — 自動投稿 (cron) / 手動投稿の生成処理の排他
 *   RUN_QUEUE     — 取りこぼし回復キューの read-modify-write 排他
 *   LOGGER        — ログ同時書き込みによるログ消失の低減
 *   POST_COUNTER  — Free プラン投稿カウンタの並列増加防止
 */
class AIAP_Lock_Keys {

    const SCHEDULER_RUN = 'scheduler_run';
    const RUN_QUEUE     = 'run_queue';
    const LOGGER        = 'logger';
    const POST_COUNTER  = 'post_counter';
}
