Automatizare
Automatizarea Rudel împiedică acumularea la nesfârșit a sandboxurilor temporare. Un eveniment WP-Cron orar, rudel_scheduled_cleanup, poate:
- să aplice politica de curățare (expirare, vechime și inactivitate)
- să curețe ramurile îmbinate
- să raporteze sandboxurile expirate sau aproape de expirare
Configurare
Automatizarea citește aceste chei din opțiunea rudel_config. Lista completă este în Configurare.
| Cheie | Scop | Implicit |
|---|---|---|
auto_cleanup_enabled |
Aplică politica de curățare la fiecare eveniment | 1 |
auto_cleanup_merged |
Elimină și sandboxurile cu ramuri de worktree Git îmbinate | 0 |
expiring_environment_notice_days |
Raportează sandboxurile care expiră în N zile | 0 |
max_age_days |
Limita de vechime folosită de politica de curățare | 0 |
max_idle_days |
Limita de inactivitate folosită de politica de curățare | 0 |
default_ttl_days |
Expirarea atribuită sandboxurilor noi | 0 |
Cu valorile implicite, evenimentul este programat, dar elimină doar sandboxurile cu o expirare explicită în trecut, deoarece nu este definită nicio limită de vechime sau inactivitate și niciun TTL implicit.
WP-Cron
Activarea programează evenimentul, iar fiecare solicitare verifică din nou programarea: evenimentul există cât timp oricare dintre auto_cleanup_enabled, auto_cleanup_merged sau expiring_environment_notice_days este diferit de zero și este eliminat în caz contrar. Dezactivarea îl elimină.
Nu există comenzi de automatizare. Modificați setările în 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 afișează Auto cleanup, Auto cleanup merged, Expiry notice days și Automation scheduled.
Rapoarte de expirare
Când este setat expiring_environment_notice_days, fiecare rulare colectează sandboxurile cu o expires_at în următoarele atâtea zile și le transmite acțiunii rudel_after_automation_expiring_environments, împărțite în expiring și expired. Rudel nu trimite notificări; conectați acțiunea pentru a-i notifica pe proprietari.
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'] );
}
}
);
Rularea acum
Folosiți curățarea manuală pentru rulări locale sau CI deterministe:
wp rudel cleanup --dry-run
wp rudel cleanup
Din PHP, Rudel::run_automation() rulează aceleași sarcini ca evenimentul cron.