Action Scheduler can be accessed via “WooCommerce > Status > Scheduled Actions”.
Manual cleanup
Delete canceled, failed, and completed actions
/**
* Deletes canceled, failed, and completed actions.
*
* @see https://wpcodebook.com/woocommerce-action-scheduler-cleanup-php/
*/
global $wpdb;
$wpdb->query( "DELETE FROM {$wpdb->prefix}actionscheduler_actions WHERE `status` IN ( 'canceled', 'failed', 'complete' )" );Empty Action Scheduler logs
/**
* Empties Action Scheduler logs.
*
* @see https://wpcodebook.com/woocommerce-action-scheduler-cleanup-php/
*/
global $wpdb;
$wpdb->query( "TRUNCATE `{$wpdb->prefix}actionscheduler_logs`" );Automatic cleanup
Reduce retention period
/**
* Sets Action Scheduler retention period to 7 days.
*
* Default: one month.
*
* @see https://wpcodebook.com/woocommerce-action-scheduler-cleanup-php/
*/
add_filter( 'action_scheduler_retention_period', function ( $period ) {
return 7 * DAY_IN_SECONDS;
} );Include failed actions
/**
* Sets Action Scheduler cleanup action statuses.
*
* Default: "complete" and "canceled"
*
* @see https://wpcodebook.com/woocommerce-action-scheduler-cleanup-php/
*/
add_filter( 'action_scheduler_default_cleaner_statuses', function ( $statuses ) {
$statuses[] = 'failed';
return $statuses;
} );Increase batch size
/**
* Sets Action Scheduler cleanup batch size.
*
* Default: 20
*
* @see https://wpcodebook.com/woocommerce-action-scheduler-cleanup-php/
*/
add_filter( 'action_scheduler_cleanup_batch_size', function ( $batch_size ) {
return 100;
} );