• Hi,

    I’ve inherited an old website where Woocemmerce has been uninstalled but Action Scheduler still execute a cronjob every minute. How can I get rid of it ?

    hook | next_run_gmt | next_run_relative | recurrence |
    +————————————+———————+———————–+—————+
    | action_scheduler_run_queue | 2026-05-21 09:44:21 | now | 1 minute |

    Thank you for your help.

Viewing 7 replies - 1 through 7 (of 7 total)
  • Plugin Support LovingBro (woo-hc)

    (@lovingbro)

    Hi @raalknz,

    Thanks for reaching out. Since WooCommerce has already been removed, what you are seeing is likely a leftover WP Cron event from the Action Scheduler library still registered in the database.

    You can usually clear it by removing the scheduled cron event directly. One way is via WP CLI: wp cron event delete action_scheduler_run_queue

    Or, if you prefer using a plugin, you can install a cron management plugin such as WP Crontrol and remove the action_scheduler_run_queue event from there.

    If the Action Scheduler tables are still present and no longer needed, you can also remove them manually from the database after taking a full backup first. You can learn more about WP Crontrol here: https://wordpress.org/plugins/wp-crontrol/. Please let us know how it goes.

    Thread Starter raalknz

    (@raalknz)

    Hi,

    Thanks for your response. I already tried the 2 solutions (forgot to mention it)

    wp cron event delete action_scheduler_run_queue only deletes the next single event running, since it’s a repeatable event, it doesn’t affect those coming after.

    Tried to pause it from WP Crontrol as well but the event was still running.

    I emptied all the Action Scheduler tables this morning but the cron is still called. I don’t know if deleting the tables would help further.

    Plugin Support Frank Remmy (woo-hc)

    (@frankremmy)

    Hi @raalknz,

    Thanks for clarifying and for sharing what you’ve already tried.

    Since action_scheduler_run_queue continues to be recreated even after deleting the event, pausing it in WP Crontrol, and emptying the Action Scheduler tables. This suggests that something on the site is still actively registering Action Scheduler and rescheduling the recurring cron event.

    Deleting the tables alone would not stop the cron from being recreated, as the scheduler itself can still be initialized by an active plugin.

    Could you also share your System Status Report? Go to WooCommerce → Status → Get system report, paste it at https://pastebin.com and share the link. This will help us check the full plugin list and environment to better understand what may still be triggering the recurring Action Scheduler event.

    Looking forward to your response.

    Thread Starter raalknz

    (@raalknz)

    Thing is WooCommerce is already uninstalled and thought Action Scheduler would go away with it. I don’t think another plugin on this site would have it installed since I have the same on others websites and don’t encounter this issue. The only specifics plugins for this site are Events Manager (https://wordpress.org/plugins/events-manager/) and WP FullCalendar (https://wordpress.org/plugins/wp-fullcalendar/) and I don’t find anything on the documentation mentioning events manager use the actions scheduler.

    Thank you

    Plugin Support Frank Remmy (woo-hc)

    (@frankremmy)

    Hi @raalknz,

    Thanks for the additional context.

    The most direct fix is to remove it via WP-CLI using wp_clear_scheduled_hook which removes all instances of the recurring event, not just the next one:

    wp eval "wp_clear_scheduled_hook( 'action_scheduler_run_queue' );"

    This is different from wp cron event delete which only removes a single scheduled instance wp_clear_scheduled_hook clears all future occurrences in one go.

    Give that a try and let us know if it resolves it!

    Thread Starter raalknz

    (@raalknz)

    Hello,

    Just tried it but it doesn’t seem to affect it…

    wp-cli eval "wp_clear_scheduled_hook( 'action_scheduler_run_queue' );"
    wp-cli cron event list
    hook | next_run_gmt | next_run_relative | recurrence |
    +------------------------------------+---------------------+-----------------------+---------------+
    | action_scheduler_run_queue | 2026-05-22 05:56:44 | 36 seconds | 1 minute |

    What seems interesting is I relaunched the wp-cli eval command with –debug to see what happens and the wp_clear function executed well without generating error

    Debug (bootstrap): argv: ../scripts/wp-cli eval wp_clear_scheduled_hook( 'action_scheduler_run_queue' ); --debug (0.227s)
    Debug (bootstrap): ABSPATH defined: /var/www/html/public/ (0.227s)
    Debug (hooks): Executing hook: before_wp_load (0.227s)
    Debug (hooks): Processing hook "before_run_command" with 1 callbacks (0.227s)
    Debug (hooks): On hook "before_run_command": WP_CLI\Bootstrap\RegisterDeferredCommands->add_deferred_commands() (0.227s)
    Debug (bootstrap): Running command: eval (0.227s)

    Is there no way to just make a clean uninstall of the action scheduler ? Not only disabling the cron.

    Thanks for your help

    • This reply was modified 22 hours, 22 minutes ago by raalknz.
    Plugin Support Frank Remmy (woo-hc)

    (@frankremmy)

    Hi @raalknz,

    That debug output is really telling. The fact that wp_clear_scheduled_hook runs successfully but the cron comes back within 36 seconds means something on the site is actively re-registering it on every WP load. It’s not just a leftover database entry.

    Given that Events Manager and WP FullCalendar are your only site-specific plugins, one of them is almost certainly bundling the Action Scheduler library internally. Let’s confirm which one:

    Temporarily deactivate Events Manager, then immediately run:

    wp cron event list

    Check if action_scheduler_run_queue still reappears. If it stops coming back, then Events Manager is the culprit. If it still reappears, reactivate Events Manager and deactivate WP FullCalendar instead and repeat the test.

    Once we know which plugin is causing it, you have two options:

    1. Keep the plugin deactivated if you no longer need it
    2. Contact that plugin’s support to ask how to properly unload AS when uninstalling

    To answer your question about a clean uninstall, there’s no way to fully remove AS as long as a plugin that bundles it is active, since it re-initialises itself on every WP load. The root fix is removing the plugin that’s loading it.

    I hope that helps. Let us know if you need anything else.

Viewing 7 replies - 1 through 7 (of 7 total)

You must be logged in to reply to this topic.