مراقبة العملية
يأتي webman مزوداً بعملية مراقبة مدمجة تدعم وظيفتين:
- مراقبة تحديثات الملفات وإعادة تحميل كود الأعمال الجديد تلقائياً (تُستخدم عادةً أثناء التطوير).
- مراقبة استهلاك الذاكرة لجميع العمليات؛ إذا كانت عملية ما على وشك تجاوز حد
memory_limitفيphp.ini، يتم إعادة تشغيلها تلقائياً بشكل آمن (دون التأثير على الأعمال).
تكوين المراقبة
تكوين monitor في config/process.php:
global $argv;
return [
// كشف تحديث الملف وإعادة التحميل التلقائي
'monitor' => [
'handler' => process\Monitor::class,
'reloadable' => false,
'constructor' => [
// مراقبة هذه المجلدات
'monitorDir' => array_merge([ // المجلدات التي يجب مراقبة ملفاتها
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')),
// الملفات ذات هذه الامتدادات ستُراقَب
'monitorExtensions' => [
'php', 'html', 'htm', 'env'
],
'options' => [
'enable_file_monitor' => !in_array('-d', $argv) && DIRECTORY_SEPARATOR === '/', // تفعيل مراقبة الملفات
'enable_memory_monitor' => DIRECTORY_SEPARATOR === '/', // تفعيل مراقبة الذاكرة
]
]
]
];
monitorDir يحدد المجلدات التي تُراقَب للتحديثات (يفضل ألا يكون عدد الملفات كبيراً).
monitorExtensions يحدد امتدادات الملفات التي تُراقَب في مجلدات monitorDir.
عندما تكون options.enable_file_monitor بقيمة true، تُفعّل مراقبة تحديثات الملفات (تكون مفعّلة افتراضياً في وضع التصحيح على Linux).
عندما تكون options.enable_memory_monitor بقيمة true، تُفعّل مراقبة الذاكرة (غير مدعومة على Windows).
تلميح
على Windows، تُفعّل مراقبة تحديثات الملفات فقط عند تشغيلwindows.batأوphp windows.php.