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:
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.
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:
wp rudel cleanup --dry-run
wp rudel cleanup
Z PHP spúšťa Rudel::run_automation() rovnaké úlohy ako udalosť cron.