Monitoramento de Processos
O Webman possui um processo de monitoramento chamado monitor
, que suporta duas funcionalidades:
- Monitorar atualizações de arquivos e recarregar automaticamente o novo código de negócio (geralmente usado durante o desenvolvimento).
- Monitorar o consumo de memória de todos os processos; se algum processo estiver prestes a exceder o limite
memory_limit
definido nophp.ini
, o processo será reiniciado de maneira segura (sem afetar os negócios).
Configuração de Monitoramento
As configurações estão no arquivo config/process.php
na seção monitor
.
global $argv;
return [
// Detecção de atualização de arquivo e recarregamento automático
'monitor' => [
'handler' => process\Monitor::class,
'reloadable' => false,
'constructor' => [
// Monitorar esses diretórios
'monitorDir' => array_merge([ // Quais diretórios devem ser monitorados
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')),
// Arquivos com essas extensões serão monitorados
'monitorExtensions' => [
'php', 'html', 'htm', 'env'
],
'options' => [
'enable_file_monitor' => !in_array('-d', $argv) && DIRECTORY_SEPARATOR === '/', // Se o monitoramento de arquivos está ativado
'enable_memory_monitor' => DIRECTORY_SEPARATOR === '/', // Se o monitoramento de memória está ativado
]
]
]
];
monitorDir
é usado para configurar quais diretórios devem ser monitorados (não é recomendável monitorar muitos arquivos em um diretório).
monitorExtensions
é usado para configurar quais sufixos de arquivos no diretório monitorDir
devem ser monitorados.
Quando o valor de options.enable_file_monitor
é true
, o monitoramento de atualizações de arquivos é ativado (em sistemas Linux, executar em modo debug ativa o monitoramento de arquivos por padrão).
Quando o valor de options.enable_memory_monitor
é true
, o monitoramento do consumo de memória é ativado (o monitoramento de memória não é compatível com sistemas Windows).
Dica
Em sistemas Windows, o monitoramento de atualizações de arquivos só pode ser ativado ao executarwindows.bat
ouphp windows.php
.