Otomasyon
Rudel otomasyonu, geçici yalıtılmış ortamların sonsuza dek birikmesini önler. Saatte bir çalışan WP-Cron olayı rudel_scheduled_cleanup şunları yapabilir:
- temizleme politikasını uygular (süre sonu, yaş ve boşta kalma)
- birleştirilmiş dal temizliğini uygular
- süresi dolmuş veya dolmak üzere olan yalıtılmış ortamları bildirir
Yapılandırma
Otomasyon bu anahtarları rudel_config seçeneğinden okur. Tam liste Yapılandırma sayfasındadır.
| Anahtar | Amaç | Varsayılan |
|---|---|---|
auto_cleanup_enabled |
Her olayda temizleme politikasını çalıştırır | 1 |
auto_cleanup_merged |
Birleştirilmiş Git çalışma ağacı dallarına sahip yalıtılmış ortamları da kaldırır | 0 |
expiring_environment_notice_days |
N gün içinde süresi dolacak yalıtılmış ortamları bildirir | 0 |
max_age_days |
Temizleme politikasının kullandığı yaş sınırı | 0 |
max_idle_days |
Temizleme politikasının kullandığı boşta kalma sınırı | 0 |
default_ttl_days |
Yeni yalıtılmış ortamlara verilen süre sonu | 0 |
Varsayılan ayarlarla olay zamanlanır, ancak yaş veya boşta kalma sınırı ve varsayılan TTL ayarlanmadığından yalnızca geçmişte açıkça belirlenmiş bir süre sonu olan yalıtılmış ortamları kaldırır.
WP-Cron
Etkinleştirme olayı zamanlar ve her istek zamanlamayı yeniden denetler: auto_cleanup_enabled, auto_cleanup_merged veya expiring_environment_notice_days değerlerinden biri sıfır değilken olay mevcut olur; aksi durumda kaldırılır. Devre dışı bırakma olayı kaldırır.
Otomasyon komutu yoktur. Ayarları rudel_config içinde değiştirin:
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 ve Automation scheduled değerlerini gösterir.
Süre sonu raporları
expiring_environment_notice_days ayarlandığında her çalıştırma, bu gün sayısı içinde expires_at değerine ulaşacak yalıtılmış ortamları toplar ve bunları rudel_after_automation_expiring_environments eylemine expiring ile expired şeklinde ayırarak iletir. Rudel kendi başına bildirim göndermez; sahipleri bilgilendirmek için eyleme bir kanca ekleyin.
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'] );
}
}
);
Şimdi çalıştırma
Yerel veya CI çalıştırmalarında belirleyici sonuçlar elde etmek için elle temizlemeyi kullanın:
wp rudel cleanup --dry-run
wp rudel cleanup
PHP içinden Rudel::run_automation(), cron olayıyla aynı görevleri çalıştırır.