Überwachung von Prozessen

Webman bringt einen eigenen Monitor-Prozess mit, der zwei Funktionen unterstützt:

  1. Überwachung von Dateiaktualisierungen und automatisches Neuladen des neuen Anwendungscodes (in der Regel während der Entwicklung verwendet).
  2. Überwachung des Speicherverbrauchs aller Prozesse. Wenn der Speicherverbrauch eines Prozesses kurz davor steht, das memory_limit in der php.ini zu überschreiten, wird der Prozess automatisch sicher neu gestartet (beeinträchtigt nicht die Geschäftstätigkeit).

Überwachungs-Konfiguration

Die Konfiguration im Datei config/process.php für monitor


global $argv;

return [
    // Dateiaktualisierungsüberwachung und automatisches Neuladen
    'monitor' => [
        'handler' => process\Monitor::class,
        'reloadable' => false,
        'constructor' => [
            // Diese Verzeichnisse überwachen
            'monitorDir' => array_merge([    // Welche Verzeichnisse sollen überwacht werden
                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')),
            // Dateien mit diesen Suffixen werden überwacht
            'monitorExtensions' => [
                'php', 'html', 'htm', 'env'
            ],
            'options' => [
                'enable_file_monitor' => !in_array('-d', $argv) && DIRECTORY_SEPARATOR === '/', // Dateimonitoring aktivieren
                'enable_memory_monitor' => DIRECTORY_SEPARATOR === '/',                      // Speichermonitoring aktivieren
            ]
        ]
    ]
];

monitorDir wird verwendet, um festzulegen, welche Verzeichnisse auf Aktualisierungen überwacht werden sollen (der überwachte Verzeichnisinhalt sollte nicht zu umfangreich sein).
monitorExtensions legt fest, welche Dateiendungen in den monitorDir-Verzeichnissen überwacht werden sollen.
Der Wert von options.enable_file_monitor ist true, wenn die Überwachung von Dateiaktualisierungen aktiviert ist (bei der Ausführung im Debug-Modus auf Linux-Systemen ist die Dateimonitoring standardmäßig aktiviert).
Der Wert von options.enable_memory_monitor ist true, wenn das Überwachen des Speicherverbrauchs aktiviert ist (die Überwachung des Speicherverbrauchs wird auf Windows-Systemen nicht unterstützt).

Hinweis
Unter Windows müssen Sie windows.bat oder php windows.php ausführen, um die Überwachung von Dateiaktualisierungen zu aktivieren.