İçeriğe geç

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:

Kabuk
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.

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'] );
        }
    }
);

Şimdi çalıştırma

Yerel veya CI çalıştırmalarında belirleyici sonuçlar elde etmek için elle temizlemeyi kullanın:

Kabuk
wp rudel cleanup --dry-run
wp rudel cleanup

PHP içinden Rudel::run_automation(), cron olayıyla aynı görevleri çalıştırır.