Към съдържанието

Автоматизация

Автоматизацията на Rudel не позволява на временните пясъчници да се натрупват безкрайно. Едно събитие WP-Cron на всеки час, rudel_scheduled_cleanup, може да:

  • изпълнява правилата за почистване (изтичане на срока, възраст и неактивност)
  • почиства клонове, слети с основния клон
  • отчита пясъчници с изтекъл или близък до изтичане срок

Конфигурация

Автоматизацията чете тези ключове от настройката rudel_config. Пълният списък е в Configuration.

Ключ Предназначение По подразбиране
auto_cleanup_enabled Изпълнява правилата за почистване при всяко събитие 1
auto_cleanup_merged Премахва и пясъчници със слети клонове на работното дърво Git 0
expiring_environment_notice_days Отчита пясъчници, чийто срок изтича след N дни 0
max_age_days Ограничение за възрастта, използвано от правилата за почистване 0
max_idle_days Ограничение за неактивност, използвано от правилата за почистване 0
default_ttl_days Срок, задаван на новите пясъчници 0

При настройките по подразбиране събитието е планирано, но премахва само пясъчници с изрично зададен срок в миналото, тъй като не са зададени нито ограничение за възраст или неактивност, нито срок по подразбиране.

WP-Cron

Активирането планира събитието, а всяка заявка проверява графика отново: събитието съществува, докато някоя от стойностите auto_cleanup_enabled, auto_cleanup_merged или expiring_environment_notice_days е различна от нула, и се премахва в противен случай. Деактивирането го премахва.

Няма команди за автоматизация. Променете настройките в 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 показва Auto cleanup, Auto cleanup merged, Expiry notice days и Automation scheduled.

Отчети за изтичане на срока

Когато е зададено expiring_environment_notice_days, всяко изпълнение събира пясъчниците със expires_at в рамките на посочения брой дни и ги предава на действието rudel_after_automation_expiring_environments, разделени на expiring и expired. Rudel не изпраща известия самостоятелно; свържете действие, което уведомява собствениците.

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

Незабавно изпълнение

Използвайте ръчно почистване за предвидими локални изпълнения или изпълнения в CI:

Обвивка
wp rudel cleanup --dry-run
wp rudel cleanup

От PHP, Rudel::run_automation() изпълнява същите задачи като събитието cron.