プロセス監視
Webmanには monitor
監視プロセスが付属しており、以下の2つの機能をサポートしています。
- ファイルの更新を監視し、新しいビジネスコードを自動的に再読み込みします(主に開発時に使用します)。
- すべてのプロセスのメモリ使用量を監視し、あるプロセスのメモリ使用量が
php.ini
に設定されたmemory_limit
制限を超えそうな場合、そのプロセスを自動的に安全に再起動します(ビジネスには影響しません)。
監視設定
設定ファイル config/process.php
内の monitor
設定
global $argv;
return [
// ファイル更新検出と自動再読み込み
'monitor' => [
'handler' => process\Monitor::class,
'reloadable' => false,
'constructor' => [
// これらのディレクトリを監視します
'monitorDir' => array_merge([ // 監視が必要なディレクトリのファイル
app_path(),
config_path(),
base_path() . '/process',
base_path() . '/support',
base_path() . '/resource',
base_path() . '/.env',
], glob(base_path() . '/plugin/*/app'), glob(base_path() . '/plugin/*/config'), glob(base_path() . '/plugin/*/api')),
// これらの拡張子のファイルが監視されます
'monitorExtensions' => [
'php', 'html', 'htm', 'env'
],
'options' => [
'enable_file_monitor' => !in_array('-d', $argv) && DIRECTORY_SEPARATOR === '/', // ファイル監視を有効にするか
'enable_memory_monitor' => DIRECTORY_SEPARATOR === '/', // メモリ監視を有効にするか
]
]
]
];
monitorDir
は更新を監視するディレクトリを設定します(監視ディレクトリのファイルが多すぎると適切ではありません)。
monitorExtensions
は monitorDir
ディレクトリ内のどのファイル拡張子を監視すべきかを設定します。
options.enable_file_monitor
の値が true
の場合、ファイル更新監視が有効になります(Linuxシステムでデバッグモードで実行する場合、デフォルトでファイル監視が有効になります)。
options.enable_memory_monitor
の値が true
の場合、メモリ使用量監視が有効になります(メモリ使用量監視はWindowsシステムではサポートしていません)。
ヒント
Windowsシステムでは、windows.bat
またはphp windows.php
を実行する必要があり、その時にファイル更新監視が有効になります。