Pereiti prie turinio

Automatizavimas

Rudel automatizavimas neleidžia kauptis vienkartinėms smėlio dėžėms. Vienas kas valandą vykstantis WP-Cron įvykis, rudel_scheduled_cleanup, gali:

  • vykdyti valymo politiką (pagal galiojimo pabaigą, amžių ir neveiklumą)
  • valyti sujungtas šakas
  • pranešti apie pasibaigusio arba netrukus pasibaigsiančio galiojimo smėlio dėžes

Konfigūracija

Automatizavimas skaito šiuos raktus iš parinkties rudel_config. Visas sąrašas pateiktas puslapyje Konfigūracija.

Raktas Paskirtis Numatytoji reikšmė
auto_cleanup_enabled Vykdyti valymo politiką per kiekvieną įvykį 1
auto_cleanup_merged Taip pat pašalinti smėlio dėžes, kurių susietos darbinio medžio Git šakos sujungtos 0
expiring_environment_notice_days Pranešti apie smėlio dėžes, kurių galiojimas baigsis per N dienų 0
max_age_days Valymo politikoje naudojama amžiaus riba 0
max_idle_days Valymo politikoje naudojama neveiklumo riba 0
default_ttl_days Naujoms smėlio dėžėms nustatoma galiojimo trukmė 0

Esant numatytosioms reikšmėms, įvykis suplanuojamas, bet pašalinamos tik tos smėlio dėžės, kurių aiškiai nustatyta galiojimo pabaiga jau praėjusi, nes nenustatyta nei amžiaus, nei neveiklumo riba, nei numatytoji galiojimo trukmė.

WP-Cron

Aktyvinus suplanuojamas įvykis, o kiekviena užklausa iš naujo patikrina tvarkaraštį: įvykis vykdomas, kol bent vienos iš reikšmių auto_cleanup_enabled, auto_cleanup_merged arba expiring_environment_notice_days reikšmė nėra nulis; kitu atveju jis pašalinamas. Išjungus įvykis pašalinamas.

Automatizavimo komandų nėra. Pakeiskite nustatymus čia: 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 rodo Auto cleanup, Auto cleanup merged, Expiry notice days ir Automation scheduled.

Galiojimo pabaigos ataskaitos

Nustačius expiring_environment_notice_days, kiekvieno vykdymo metu surenkamos smėlio dėžės, kurių expires_at sueis per nurodytą dienų skaičių, ir perduodamos veiksmui rudel_after_automation_expiring_environments, suskirstytos į expiring ir expired. Rudel pats nepraneša; susiekite veiksmą su savininkų informavimo mechanizmu.

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

Vykdymas dabar

Jei norite nuspėjamai vykdyti vietinį arba CI valymą, naudokite rankinį valymą:

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

Iš PHP komanda Rudel::run_automation() vykdo tas pačias užduotis kaip ir įvykis cron.