الأتمتة
تمنع أتمتة 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 أي إشعارات بنفسه؛ اربط الإجراء لإخطار المالكين.
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.