Automatisering
Automatiseringen för Rudel hindrar tillfälliga sandlådor från att samlas på hög för alltid. En händelse WP-Cron som körs varje timme, rudel_scheduled_cleanup, kan:
- köra rensningspolicyn (utgångstid, ålder och inaktivitet)
- rensa grenar som har slagits samman
- rapportera sandlådor som har löpt ut eller snart löper ut
Konfiguration
Automatiseringen läser dessa nycklar från alternativet rudel_config. Den fullständiga listan finns i Konfiguration.
| Nyckel | Syfte | Standardvärde |
|---|---|---|
auto_cleanup_enabled |
Kör rensningspolicyn vid varje händelse | 1 |
auto_cleanup_merged |
Tar även bort sandlådor med sammanslagna Git-arbetsgrenar | 0 |
expiring_environment_notice_days |
Rapporterar sandlådor som löper ut inom N dagar | 0 |
max_age_days |
Åldersgräns som används av rensningspolicyn | 0 |
max_idle_days |
Inaktivitetsgräns som används av rensningspolicyn | 0 |
default_ttl_days |
Utgångstid för nya sandlådor | 0 |
Med standardinställningarna schemaläggs händelsen men tar bara bort sandlådor vars angivna utgångstid har passerat, eftersom varken åldersgräns, inaktivitetsgräns eller standardvärde för TTL har angetts.
WP-Cron
Aktivering schemalägger händelsen, och varje förfrågan kontrollerar schemat på nytt: händelsen finns så länge något av auto_cleanup_enabled, auto_cleanup_merged eller expiring_environment_notice_days är skilt från noll, och tas annars bort. Inaktivering tar bort den.
Det finns inga automatiseringskommandon. Ändra inställningarna 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 visar Auto cleanup, Auto cleanup merged, Expiry notice days och Automation scheduled.
Rapporter om utgångstider
När expiring_environment_notice_days har angetts samlar varje körning in sandlådor med en expires_at inom det angivna antalet dagar och skickar dem till åtgärden rudel_after_automation_expiring_environments, uppdelade i expiring och expired. Rudel skickar inga aviseringar själv; koppla åtgärden till en avisering till ägarna.
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 den nu
Använd manuell rensning för förutsägbara lokala körningar eller CI-körningar:
wp rudel cleanup --dry-run
wp rudel cleanup
Från PHP kör Rudel::run_automation() samma uppgifter som händelsen cron.