Monitoreo de procesos
Webman viene con un proceso de monitoreo llamado monitor
, que admite dos funciones:
- Monitorea las actualizaciones de archivos y recarga automáticamente el nuevo código de negocio (generalmente utilizado durante el desarrollo).
- Monitorea el uso de memoria de todos los procesos; si un proceso está a punto de superar el límite de
memory_limit
enphp.ini
, reiniciará automáticamente el proceso de manera segura (sin afectar el negocio).
Configuración de monitoreo
La configuración se encuentra en el archivo config/process.php
en la sección monitor
.
global $argv;
return [
// Detección de actualizaciones de archivos y recarga automática
'monitor' => [
'handler' => process\Monitor::class,
'reloadable' => false,
'constructor' => [
// Monitorear estos directorios
'monitorDir' => array_merge([ // Qué directorios deben ser monitoreados
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')),
// Los archivos con estos sufijos serán monitoreados
'monitorExtensions' => [
'php', 'html', 'htm', 'env'
],
'options' => [
'enable_file_monitor' => !in_array('-d', $argv) && DIRECTORY_SEPARATOR === '/', // Si se habilita el monitoreo de archivos
'enable_memory_monitor' => DIRECTORY_SEPARATOR === '/', // Si se habilita el monitoreo de memoria
]
]
]
];
monitorDir
se utiliza para configurar qué directorios se van a monitorear por actualizaciones (no se deben monitorear demasiados archivos en los directorios).
monitorExtensions
se utiliza para configurar qué sufijos de archivos dentro del directorio monitorDir
deben ser monitoreados.
El valor de options.enable_file_monitor
debe ser true
para habilitar el monitoreo de actualizaciones de archivos (en sistemas Linux, se habilita por defecto en modo de depuración).
El valor de options.enable_memory_monitor
debe ser true
para habilitar el monitoreo del uso de memoria (el monitoreo del uso de memoria no es compatible con sistemas Windows).
Sugerencia
En sistemas Windows, el monitoreo de actualizaciones de archivos solo se puede activar ejecutandowindows.bat
ophp windows.php
.