Cleanup
Overview
Deletes VPS and DNS resources after cancellation grace period and sends notification emails.
Constants
GRACE_PERIOD_DAYS(7)
Hooks
spawn_process_deletions(hourly)
Methods
init(): voidschedules hourly deletion job.process_pending_deletions(): voiddeletes pending customers.delete_customer_resources( array $customer ): boolsend_cancellation_email( array $customer ): voidsend_deletion_reminder( array $customer, int $days_remaining ): voiddeactivate(): voidunschedules cron.
Deletion Workflow
php
if ( ! empty( $customer['hetzner_server_id'] ) || ! empty( $customer['server_id'] ) ) {
$server_id = $customer['hetzner_server_id'] ?: $customer['server_id'];
self::delete_vps( $server_id );
}Example
php
add_action( 'spawn_process_deletions', [ SpawnCleanup::class, 'process_pending_deletions' ] );