Automatisering
Rudels automatisering forhindrer, at midlertidige sandkasser ophobes for altid. Én WP-Cron-hændelse i timen, rudel_scheduled_cleanup, kan:
- køre oprydningspolitikken (udløb, alder og inaktivitet)
- rydde op i flettede grene
- rapportere om sandkasser, der er udløbet eller snart udløber
Konfiguration
Automatisering læser disse nøgler fra indstillingen rudel_config. Den fulde liste findes under Konfiguration.
| Nøgle | Formål | Standardværdi |
|---|---|---|
auto_cleanup_enabled |
Kør oprydningspolitikken ved hver hændelse | 1 |
auto_cleanup_merged |
Fjern også sandkasser med flettede worktree-grene Git | 0 |
expiring_environment_notice_days |
Rapportér om sandkasser, der udløber inden for N dage | 0 |
max_age_days |
Aldersgrænse, der bruges af oprydningspolitikken | 0 |
max_idle_days |
Inaktivitetsgrænse, der bruges af oprydningspolitikken | 0 |
default_ttl_days |
Udløbstid, der tildeles nye sandkasser | 0 |
Med standardindstillingerne er hændelsen planlagt, men fjerner kun sandkasser med en udtrykkelig udløbsdato i fortiden, fordi der ikke er angivet nogen alders- eller inaktivitetsgrænse eller standard-TTL.
WP-Cron
Aktivering planlægger hændelsen, og hver anmodning kontrollerer tidsplanen igen: Hændelsen findes, så længe en af auto_cleanup_enabled, auto_cleanup_merged eller expiring_environment_notice_days er forskellig fra nul, og fjernes ellers. Deaktivering fjerner den.
Der er ingen automatiseringskommandoer. Skift indstillingerne i 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 viser Auto cleanup, Auto cleanup merged, Expiry notice days og Automation scheduled.
Udløbsrapporter
Når expiring_environment_notice_days er angivet, indsamler hver kørsel sandkasser med en expires_at inden for det angivne antal dage og sender dem til handlingen rudel_after_automation_expiring_environments, opdelt i expiring og expired. Rudel sender ikke selv meddelelser; tilknyt handlingen for at underrette ejere.
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'] );
}
}
);
Kør nu
Brug manuel oprydning til forudsigelige lokale kørsler eller CI-kørsler:
wp rudel cleanup --dry-run
wp rudel cleanup
Fra PHP kører Rudel::run_automation() de samme opgaver som hændelsen cron.