انتقل إلى المحتوى

الأتمتة

تمنع أتمتة Rudel تراكم البيئات المعزولة المؤقتة إلى الأبد. ويمكن لحدث WP-Cron واحد كل ساعة، rudel_scheduled_cleanup، أن:

  • يشغّل سياسة التنظيف (انتهاء الصلاحية والعمر والخمول)
  • يشغّل تنظيف الفروع المدمجة
  • يبلغ عن البيئات المعزولة منتهية الصلاحية أو القريبة من انتهائها

الإعداد

تقرأ الأتمتة هذه المفاتيح من خيار rudel_config. تجد القائمة الكاملة في الإعدادات.

المفتاح الغرض الافتراضي
auto_cleanup_enabled تشغيل سياسة التنظيف عند كل حدث 1
auto_cleanup_merged إزالة البيئات المعزولة ذات فروع أشجار عمل Git المدمجة أيضًا 0
expiring_environment_notice_days الإبلاغ عن البيئات المعزولة التي تنتهي صلاحيتها خلال N يومًا 0
max_age_days حد العمر الذي تستخدمه سياسة التنظيف 0
max_idle_days حد الخمول الذي تستخدمه سياسة التنظيف 0
default_ttl_days مدة الصلاحية الممنوحة للبيئات المعزولة الجديدة 0

وفق القيم الافتراضية، يُجدول الحدث لكنه لا يزيل إلا البيئات المعزولة التي لها موعد انتهاء صريح في الماضي، لأنه لا يوجد حد للعمر أو الخمول ولا مدة صلاحية افتراضية.

WP-Cron

تُجدول المهمة عند التفعيل، ويُعاد التحقق من جدولها مع كل طلب: يبقى الحدث قائمًا ما دامت إحدى القيم auto_cleanup_enabled أو auto_cleanup_merged أو expiring_environment_notice_days غير صفرية، ويُزال خلاف ذلك. ويزيله إلغاء التفعيل.

لا توجد أوامر للأتمتة. غيّر الإعدادات في rudel_config:

سطر الأوامر
wp option update rudel_config '{"auto_cleanup_enabled":1,"max_idle_days":7,"expiring_environment_notice_days":2}' --format=json
wp rudel status

يعرض wp rudel status كلًا من Auto cleanup وAuto cleanup merged وExpiry notice days وAutomation scheduled.

تقارير انتهاء الصلاحية

عند تعيين expiring_environment_notice_days، يجمع كل تشغيل البيئات المعزولة ذات expires_at خلال ذلك العدد من الأيام ويمررها إلى الإجراء rudel_after_automation_expiring_environments، مقسمة إلى expiring وexpired. لا يرسل Rudel أي إشعارات بنفسه؛ اربط الإجراء لإخطار المالكين.

PHP
add_action(
    'rudel_after_automation_expiring_environments',
    function ( array $report ): void {
        foreach ( $report['expiring'] as $sandbox ) {
            error_log( $sandbox['id'] . ' expires at ' . $sandbox['expires_at'] );
        }
    }
);

تشغيلها الآن

استخدم التنظيف اليدوي لعمليات التشغيل المحلية أو عبر CI التي تتطلب نتائج محددة:

سطر الأوامر
wp rudel cleanup --dry-run
wp rudel cleanup

من PHP، ينفذ Rudel::run_automation() المهام نفسها التي ينفذها حدث cron.