Süreç İzleme

Webman, iki özelliği destekleyen bir monitor izleme sürecine sahiptir:

  1. Dosya güncellemelerini izleme ve yeni iş kodlarını otomatik olarak yeniden yükleme (genellikle geliştirme sırasında kullanılır)
  2. Tüm süreçlerin bellek kullanımını izleme; eğer bir süreç php.ini içindeki memory_limit sınırını aşmaya yaklaşıyorsa, bu süreci otomatik olarak güvenli bir şekilde yeniden başlatma (işi etkilemez)

İzleme Yapılandırması

Yapılandırma dosyası config/process.php içindeki monitor yapılandırması


global $argv;

return [
    // Dosya güncelleme tespiti ve otomatik yeniden yükleme
    'monitor' => [
        'handler' => process\Monitor::class,
        'reloadable' => false,
        'constructor' => [
            // Bu dizinleri izleyin
            'monitorDir' => array_merge([    // Hangi dizinlerdeki dosyaların izlenmesi gerektiği
                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')),
            // Bu uzantılara sahip dosyalar izlenecek
            'monitorExtensions' => [
                'php', 'html', 'htm', 'env'
            ],
            'options' => [
                'enable_file_monitor' => !in_array('-d', $argv) && DIRECTORY_SEPARATOR === '/', // Dosya izlemeyi etkinleştir
                'enable_memory_monitor' => DIRECTORY_SEPARATOR === '/',                      // Bellek izlemeyi etkinleştir
            ]
        ]
    ]
];

monitorDir, hangi dizinlerdeki güncellemelerin izleneceğini yapılandırmak için kullanılır (izlenecek dizinlerdeki dosya sayısı fazla olmamalıdır).
monitorExtensions, monitorDir dizininde hangi dosya uzantılarının izlenmesi gerektiğini yapılandırmak için kullanılır.
options.enable_file_monitor değeri true olduğunda, dosya güncelleme izleme etkinleştirilir (Linux sisteminde debug modunda çalıştırıldığında dosya izleme varsayılan olarak açıktır).
options.enable_memory_monitor değeri true olduğunda, bellek kullanımını izleme etkinleştirilir (bellek izleme Windows sistemlerinde desteklenmez).

İpucu
Windows sisteminde windows.bat veya php windows.php çalıştırılması gerektiğinde dosya güncelleme izlemesi etkinleştirilir.