Treci la conținut

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:

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

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

Rularea acum

Folosiți curățarea manuală pentru rulări locale sau CI deterministe:

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

Din PHP, Rudel::run_automation() rulează aceleași sarcini ca evenimentul cron.