مراقبة العمليات
تأتي Webman مع عملية مراقبة monitor
، وهي تدعم وظيفتين:
- مراقبة تحديثات الملفات وإعادة تحميل رمز العمل الجديد تلقائيًا (تستخدم بشكل عام أثناء تطوير)
- مراقبة استهلاك الذاكرة لجميع العمليات، وإذا كانت إحدى العمليات تستهلك الذاكرة على وشك تجاوز الحد
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
لتفعيل مراقبة تحديثات الملفات.