Monitoraggio dei processi

Webman include un processo di monitoraggio, che supporta due funzionalità

  1. Monitoraggio degli aggiornamenti dei file e ricarica automatica del nuovo codice aziendale (generalmente utilizzato durante lo sviluppo)
  2. Monitoraggio dell'occupazione della memoria da parte di tutti i processi; se un processo sta per superare il limite memory_limit definito nel php.ini, riavvierà automaticamente quel processo in modo sicuro (senza influenzare l'attività aziendale)

Configurazione del monitoraggio

Nel file di configurazione config/process.php, la configurazione monitor


global $argv;

return [
    // Rilevamento aggiornamenti dei file e ricarica automatica
    'monitor' => [
        'handler' => process\Monitor::class,
        'reloadable' => false,
        'constructor' => [
            // Monitora queste directory
            'monitorDir' => array_merge([    // Quali directory contengono file da monitorare
                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')),
            // I file con questi suffissi saranno monitorati
            'monitorExtensions' => [
                'php', 'html', 'htm', 'env'
            ],
            'options' => [
                'enable_file_monitor' => !in_array('-d', $argv) && DIRECTORY_SEPARATOR === '/', // Attiva il monitoraggio dei file
                'enable_memory_monitor' => DIRECTORY_SEPARATOR === '/',                      // Attiva il monitoraggio della memoria
            ]
        ]
    ]
];

monitorDir è utilizzato per configurare quali directory devono essere monitorate per gli aggiornamenti (non dovrebbero esserci troppi file nelle directory monitorate).
monitorExtensions serve a configurare quali suffissi dei file nelle directory monitorDir dovrebbero essere monitorati.
Quando options.enable_file_monitor è true, il monitoraggio degli aggiornamenti dei file è abilitato (sui sistemi Linux in esecuzione in modalità debug, il monitoraggio dei file è attivato per impostazione predefinita).
Quando options.enable_memory_monitor è true, il monitoraggio dell'occupazione della memoria è abilitato (il monitoraggio dell'occupazione della memoria non è supportato sui sistemi Windows).

Suggerimento
Su sistemi Windows, è necessario eseguire windows.bat o php windows.php per attivare il monitoraggio degli aggiornamenti dei file.