Preskočiť na obsah

Automatizácia

Automatizácia Rudel zabraňuje tomu, aby sa jednorazové sandboxy hromadili donekonečna. Jedna hodinová udalosť WP-Cron, rudel_scheduled_cleanup, môže:

  • spustiť pravidlá čistenia (uplynutie platnosti, vek a nečinnosť)
  • vyčistiť sandboxy zlúčených vetiev
  • nahlásiť sandboxy, ktorým uplynula alebo čoskoro uplynie platnosť

Konfigurácia

Automatizácia číta tieto kľúče z možnosti rudel_config. Úplný zoznam nájdete v časti Konfigurácia.

Kľúč Účel Predvolená hodnota
auto_cleanup_enabled Spustiť pravidlá čistenia pri každej udalosti 1
auto_cleanup_merged Odstrániť aj sandboxy s pracovnými vetvami Git, ktoré boli zlúčené 0
expiring_environment_notice_days Nahlásiť sandboxy, ktorým uplynie platnosť do N dní 0
max_age_days Vekový limit používaný pravidlami čistenia 0
max_idle_days Limit nečinnosti používaný pravidlami čistenia 0
default_ttl_days Platnosť nastavená pre nové sandboxy 0

Pri predvolených nastaveniach je udalosť naplánovaná, ale odstraňuje len sandboxy s výslovne nastaveným dátumom uplynutia platnosti v minulosti, pretože nie je nastavený vekový ani časový limit nečinnosti ani predvolené TTL.

WP-Cron

Aktivácia naplánuje udalosť a každá požiadavka plán znova skontroluje: udalosť existuje, kým niektorá z hodnôt auto_cleanup_enabled, auto_cleanup_merged alebo expiring_environment_notice_days nie je nulová; inak sa odstráni. Deaktivácia ju odstráni.

Príkazy na automatizáciu neexistujú. Zmeňte nastavenia v rudel_config:

Shell
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 zobrazuje Auto cleanup, Auto cleanup merged, Expiry notice days a Automation scheduled.

Hlásenia o uplynutí platnosti

Keď je nastavené expiring_environment_notice_days, každé spustenie zhromaždí sandboxy, ktorým expires_at uplynie do toľkých dní, a odovzdá ich akcii rudel_after_automation_expiring_environments, rozdelené na expiring a expired. Rudel samo neposiela upozornenia; pripojte k akcii upozorňovanie vlastníkov.

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

Spustenie teraz

Na deterministické lokálne spustenia alebo spustenia v CI použite manuálne čistenie:

Shell
wp rudel cleanup --dry-run
wp rudel cleanup

Z PHP spúšťa Rudel::run_automation() rovnaké úlohy ako udalosť cron.