【ランチャーのシステム設定】

はじめに

SOCKET-MANAGER Framework のランチャーは、setting/const.php に定義されたシステム設定ファイルを基盤として動作します。
このファイルには、周期インターバルやログ出力先、プロセスIDファイルの保存先、GUIモードで利用するホスト・ポート設定、さらにはカスタムモニタリング用の接続情報までが含まれています。
運用環境に合わせて以下の設定ファイルを適切に調整することで、安定したサービス管理が可能になります。
return [

    /**
     * 周期インターバル時間(μs)
     */
    'cycle_interval' => 10,

    /**
     * デバッグ用ログファイルのパス
     */
    'log_path_for_debug' => './logs/runtime-manager',

    /**
     * ランチャー用プロセスIDファイルのパス
     */
    'pid_path_for_launcher' => './pids/launcher/launcher',

    /**
     * サービス用プロセスIDファイルのパス
     */
    'pid_path_for_service' => './pids',

    //--------------------------------------------------------------------------
    // GUIモード用
    //--------------------------------------------------------------------------

    /**
     * @var string ホスト名
     */
    'host' => 'localhost',

    /**
     * @var int ポート番号
     */
    'port' => 5000,

    /**
     * @var int アライブチェックタイムアウト時間(s)
     */
    'alive_interval' => 3600,

    /**
     * カスタムモニタリングホストの設定
     */
    'custom_monitoring' =>
    [
        /**
         * @var string ホスト名
         */
        'host' => 'localhost',

        /**
         * @var int ポート番号
         */
        'port' => 15000,

        /**
         * @var int ダウンタイム(ms)⇒ null指定時はデフォルト値(100ms)が適用されます
         */
        'downtime' => null
    ]
];
                    

本記事では、この設定ファイルの各項目を整理し、運用時にどのように活用できるのかを解説します。

基本設定項目

まずはランチャー全体に共通する基本的な設定です。
'cycle_interval'        => 10,
'log_path_for_debug'    => './logs/runtime-manager',
'pid_path_for_launcher' => './pids/launcher/launcher',
'pid_path_for_service'  => './pids',
                    

  • cycle_interval
    ランチャーの処理周期をマイクロ秒単位で指定します。値を小さくすると応答性は高まりますが、CPU負荷が増加します。

  • log_path_for_debug
    デバッグ用ログファイルの保存先を指定します。運用環境ではログローテーションやディスク容量に注意が必要です。

  • pid_path_for_launcher / pid_path_for_service
    ランチャーおよびサービスのプロセスIDファイルを保存するディレクトリを指定します。監視やプロセス管理の基盤となるため、権限設定やパスの整合性を確認しておくことが重要です。

GUIモード関連の設定

GUIモードでランチャーを利用する場合に必要となる設定です。
'host'           => 'localhost',
'port'           => 5000,
'alive_interval' => 3600,
                    

  • host
    GUIモードで接続するホスト名を指定します。通常は localhost ですが、リモートアクセスを許可する場合は適切なホスト名やIPアドレスに変更します。

  • port
    GUIモードで利用するポート番号です。他のサービスと競合しないように設定する必要があります。

  • alive_interval
    アライブチェックのタイムアウト時間(秒)を指定します。長めに設定すると接続維持が安定しますが、障害検知が遅れる可能性があります。

カスタムモニタリング設定

独自の監視対象を追加する場合に利用する設定です。
'custom_monitoring' => [
    'host'     => 'localhost',
    'port'     => 15000,
    'downtime' => null
]
                    

  • custom_monitoring.host / port
    カスタム監視対象のホスト名とポート番号を指定します。

  • custom_monitoring.downtime
    ダウンタイムをミリ秒単位で指定します。null の場合はデフォルト値(100ms)が適用されます。障害検知の閾値を調整することで、誤検知や遅延を防ぐことができます。

実運用での注意点

  • ログ・PIDファイルの保存先
    権限やディスク容量に注意し、運用環境に合わせて適切に設定してください。

  • ポート競合
    GUIモードやカスタムモニタリングで利用するポート番号は、他サービスと競合しないように管理する必要があります。

  • 監視設定の調整
    alive_intervaldowntime の値は、システムの特性や運用ポリシーに応じて調整することで、安定性と障害検知精度のバランスを取ることができます。

おわりに

setting/const.php は、SOCKET-MANAGER Framework のランチャー動作を制御する重要な設定ファイルです。
  • 基本設定でランチャーの周期やログ出力を制御
  • GUIモード設定で接続環境を調整
  • カスタムモニタリング設定で独自の監視を追加
これらを適切に設定することで、運用環境に最適化された安定したサービス管理が実現できます。