Мониторинг процессов
Webman по умолчанию включает в себя процесс мониторинга, который поддерживает две функции:
- Мониторинг обновления файлов и автоматическая перезагрузка нового бизнес-кода (обычно используется во время разработки).
- Мониторинг всех процессов, занимающих оперативную память, и автоматическая безопасная перезагрузка процесса, если оперативная память этого процесса почти достигает ограничения, указанного в
php.ini
вmemory_limit
(не влияет на бизнес-процессы).
Настройка мониторинга
Настройки мониторинга находятся в файле config/process.php
:
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
.