مراقبة العمليات

تأتي Webman مع عملية مراقبة monitor، وهي تدعم وظيفتين:

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