

Manual cleanup tab with database status and space estimation
Easy Actions Scheduler Cleaner helps you clean up your Actions Scheduler database tables. Over time, these tables can accumulate thousands or even millions of records from completed, failed, canceled, and past-due actions that are no longer needed, as well as extensive logs that can take up significant database space.
This plugin provides two cleanup modes plus email notifications:
Run a one-time cleanup that removes all unnecessary records at once:
Configure automatic cleanup to run on a schedule with smart thresholds:
Stay informed about your database status with configurable email notifications:
The Actions Scheduler tool used by WooCommerce and many other WordPress plugins can accumulate millions of database records over time, which can:
The action logs table (actionscheduler_logs) is particularly problematic as it records detailed information about every action execution and can grow exponentially on busy sites.
Action Scheduler 4.0 (bundled with WooCommerce 11.0) now removes failed actions automatically after three months, on top of the completed-action cleanup it already did. This plugin still does more, and on your terms: it cleans on demand and immediately, and it also clears past-due actions, old pending actions, every action log, and orphaned groups that Action Scheduler leaves behind.
This plugin does not collect, store, or transmit any user data externally. Email notifications are sent using WordPress’s built-in wp_mail() function through your server’s mail configuration. All data processing happens locally on your server.
wp_actionscheduler_actions – Main actions tablewp_actionscheduler_groups – Groups table (orphaned records only)wp_actionscheduler_logs – Logs table (all records)The plugin processes deletions in batches of 10,000 records to prevent timeouts and reduce server load during cleanup operations.
Scheduled cleanup and email notifications rely on WP-Cron. If your site uses an external cron job (DISABLE_WP_CRON), make sure your system cron is properly configured to trigger WP-Cron. The missed cleanup alert can help detect WP-Cron issues.
The plugin exposes three filters for fine-tuning the cleanup behavior. Add them to a mu-plugin or your theme’s functions.php:
easc_large_site_threshold (default: 500000)
Number of total records (actions + logs) that triggers the “consider enabling scheduled cleanup” admin notice.
easc_batch_size (default: 10000, context: 'scheduled')
Rows deleted per DELETE LIMIT query. Lower if your database struggles, raise if you have headroom. Currently applies to the scheduled cleanup only.
easc_cleanup_step_time_budget (default: 25)
Seconds each background step is allowed to run before rescheduling itself. Should be lower than your hosting’s PHP max_execution_time.
Example:
add_filter( 'easc_large_site_threshold', fn() => 100000 );<h3>Support</h3>
Do you need one-on-one help, priority troubleshooting, or a custom feature, integration, or tweak built specifically for your site? I offer private support and custom development. Just contact me and tell me what you need.
Love the plugin? Please leave us a 5-star review and help spread the word!
We are specialists in WordPress security, SEO, and performance optimization plugins. We create tools that solve real problems for WordPress site owners while maintaining the highest coding standards and accessibility requirements.