Siirry sisältöön

Automaatio

Rudel-järjestelmän automaatio estää väliaikaisten eristysympäristöjen kertymisen. Yksi tunnin välein suoritettava WP-Cron-tapahtuma, rudel_scheduled_cleanup, voi:

  • suorittaa siivouskäytännön (vanheneminen, ikä ja toimettomuus)
  • siivota yhdistetyt haarat
  • raportoida vanhentuneet tai pian vanhenevat eristysympäristöt

Määritykset

Automaatio lukee nämä avaimet valinnasta rudel_config. Koko luettelo on sivulla Määritykset.

Avain Tarkoitus Oletusarvo
auto_cleanup_enabled Suorittaa siivouskäytännön jokaisessa tapahtumassa 1
auto_cleanup_merged Poistaa lisäksi yhdistetyt Git-työpuun haarat käyttävät eristysympäristöt 0
expiring_environment_notice_days Raportoi N päivän sisällä vanhenevat eristysympäristöt 0
max_age_days Siivouskäytännön käyttämä ikäraja 0
max_idle_days Siivouskäytännön käyttämä toimettomuusraja 0
default_ttl_days Uusille eristysympäristöille annettava vanhenemisaika 0

Oletusarvoilla tapahtuma on ajoitettu, mutta se poistaa vain eristysympäristöt, joiden nimenomainen vanhenemisaika on jo mennyt, koska ikä- tai toimettomuusrajaa eikä oletusarvoista elinaikaa (TTL) ole asetettu.

WP-Cron

Aktivointi ajoittaa tapahtuman, ja jokaisessa pyynnössä aikataulu tarkistetaan uudelleen: tapahtuma on olemassa, jos jokin arvoista auto_cleanup_enabled, auto_cleanup_merged tai expiring_environment_notice_days on nollasta poikkeava; muussa tapauksessa se poistetaan. Käytöstä poistaminen poistaa tapahtuman.

Automaatioon ei ole komentoja. Muuta asetuksia kohteessa 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 näyttää arvot Auto cleanup, Auto cleanup merged, Expiry notice days ja Automation scheduled.

Vanhenemisraportit

Kun asetus expiring_environment_notice_days on määritetty, jokaisessa ajossa kerätään eristysympäristöt, joiden expires_at osuu kyseisen päivän sisälle, ja välitetään ne toiminnolle rudel_after_automation_expiring_environments jaoteltuina ryhmiin expiring ja expired. Rudel ei lähetä ilmoituksia itse; ilmoita omistajille liittämällä toiminto ilmoitusjärjestelmään.

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

Suorittaminen nyt

Käytä manuaalista siivousta paikallisissa tai CI-ajoissa, joiden tulosten on oltava ennakoitavia:

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

Kohteesta PHP komento Rudel::run_automation() suorittaa samat tehtävät kuin cron-tapahtuma.