Support » Plugin: WooCommerce Admin » Massive wc_admin scheduled actions table

  • Resolved samanthadee

    (@samanthadee)


    I have 832 rows of completed wc_admin items – is it safe to remove them? and is there some setting to remove the completed ones?

    Nervous about having almost a 1000 rows for this in my installation.

    Thanks

Viewing 15 replies - 1 through 15 (of 17 total)
  • @samanthadee I had the same reaction when I found over 1500 wc_admin_unsnooze_admin_notes recorded in the cron table.

    I set the value to an empty array but wp-admin put them all back again. This is unnecessary bloat considering I’ve only had woocommerce installed for 2 weeks with 1 user and haven’t gone live at the front end yet.

    I can recommend WP Crontrol as a reliable means to delete completed events without them being restored again afterwards, but be prepared to sit there for an hour to delete 10 records at a time.

    And you might want to clear actions in Woo Commerce > Status > Scheduled Actions to prevent failed action_scheduler_run_queue events.

    I have not progressed passed this point, but it’s a start at least.

    Good luck!

    Hello @samanthadee and @ozcoolie,

    Completed scheduled actions are safe to delete if you wish. Action Scheduler will automatically remove them after 30 days.

    If you’d like to decrease that time window, the action_scheduler_retention_period filter is available. We’re also considering reducing this value by default.

    Here’s a snippet that decreases the retention period to 1 week:

    
    function wca_reduce_action_scheduler_retention() {
        return WEEK_IN_SECONDS;
    }
    
    add_filter( 'action_scheduler_retention_period', 'wca_reduce_action_scheduler_retention' );
    

    @jeffstieler Thanks heaps! Worked a treat. I hadn’t deleted anything for a week and was back up to 800 records. Now down 240 using your script.

    May I suggest perhaps the ability to change specific events in WP Crontrol?

    I, personally, would only like to see errors and current/pending events being logged. Fewer records to sift through would certainly make troubleshooting a lot easier!

    @ozcoolie glad that worked for you!

    May I suggest perhaps the ability to change specific events in WP Crontrol?

    I, personally, would only like to see errors and current/pending events being logged. Fewer records to sift through would certainly make troubleshooting a lot easier!

    While similar, Action Scheduler and WP-Cron are different systems (for the default setup Action Scheduler uses WP-Cron to run jobs). WP Crontrol doesn’t provide the view you see at Tools > Scheduled Actions, Action Scheduler does. I know it’s a bit confusing.

    Thanks for your feedback on how you’d like to troubleshoot. We’ll look into selectively changing the retention time for actions based on their success status.

    @jeffstieler Interesting… I didn’t get a Scheduled Actions menu item in Tools until I installed WP Crontrol. I saw links others posted to its location but when I tried to access it that way I got “You’re not allowed to view this page” (or something to that effect). Scheduled Actions appeared after I installed WP Crontrol and gave me access to the page.

    It’s possible I caused this myself, as I tried a few User Role Editors before I found one that worked without unexpected behaviour and had to reset capabilities several times.

    Anyway, I’m trying to ascertain if a cURL timeout / loopback error in Site Health is being caused by cache. My host provider says there’s no errors being logged on the server and that this is often the case. But I’m hesitant to trip over yet more plugins that cause unexpected behaviour and send me on another wild goose-chase, where I forget what-the-heck I was trying to troubleshoot in the first place.

    I wonder if you could provide me with a Cron function to clear cache once a day so I can see if this fixes the Site Health errors. I can’t see any cache folders on my server so I’m hesitant to even use WP Crontrol without knowing what I’m trying to target.

    Or is there something else you can suggest?

    Probably should mention it’s a shipping plugin that trips up the Rest API. I’m working with Transdirect and my hosting provider to try to resolve the issue
    https://wordpress.org/support/topic/activating-causes-curl-timeout-error/

    Thread Starter samanthadee

    (@samanthadee)

    @jeffstieler thanks for the response. Two things:

    Where do I put that code
    Presumably I can amend to DAY_IN_SECONDS ?

    Personally I’d like to see only failed events in logs. I could care less about successful ones. Unless I’m missing something?

    Thanks mate

    Samantha

    @ozcoolie as you’ve determined a plugin other than WooCommerce Admin is causing you cache/site health issues, please understand that I cannot assist.

    @samanthadee please refer to this great post by Skyverge on How to Safely Add Custom Code to WordPress Sites. You can certainly change to DAY_IN_SECONDS. On the topic of only showing failed events, I don’t believe that is currently possible with Action Scheduler, but if it is – it’s far more difficult than using the filter I’ve mentioned previously.

    Thread Starter samanthadee

    (@samanthadee)

    Brilliant, thanks Jeff.
    Sam

    @jeffstieler As I said, I’m working with my hosting provider and the plugin developer to resolve the issue. However, server-side caching is by team Automattic, no?

    Again, the ability “troubleshoot” is the specific issue I’m referring to. It seems @samanthadee and I are on the same page here.

    We have a setting to reduce cache aggressiveness, but not the ability to turn it off altogether as a troubleshooting measure… or am I missing something?

    Hello @ozcoolie,

    We have a setting to reduce cache aggressiveness, but not the ability to turn it off altogether as a troubleshooting measure… or am I missing something?

    I’m not sure I’m following you. Are you referring to the Action Scheduler retention period as cache? (Action Scheduler stores job information as a custom WordPress post type, which is stored in the database)

    As I said, I’m working with my hosting provider and the plugin developer to resolve the issue.

    Which plugin developer do you mean here?

    However, server-side caching is by team Automattic, no?

    Can you elaborate on what you mean here? If you’re using WordPress.com to host your store, then Automattic would be your hosting company and responsible for the server-side cache setup. Otherwise, your hosting provider has control over server-side caching.

    Based on your previous replies, it seems you’re trying to diagnose an issue with Site Health that you’ve narrowed down to cURL/loopback requests failing:

    Anyway, I’m trying to ascertain if a cURL timeout / loopback error in Site Health is being caused by cache.

    If you have any logs or extra information on these errors, I can help determine if WooCommerce Admin is somehow causing errors in the REST API responses, but otherwise this looks to be an issue unrelated to our plugin which is why I previously stated I can’t assist.

    Sorry, logging and caching are two different things. My bad? And I just realised “WC Admin” is a different plugin to “WC”.

    Please disregard my frustrated babbling 😀

    Appreciate the offer to help, but I have given up on getting any Australian shipping plugins to play nicely with WC. The problems are still there with or without WC Admin, so you are right – it’s not your issue 🙂

    @jeffstieler You did help us immensely with your code snippet, so thanks again. As far as I’m concerned you have resolved this topic fair and square.. and then some. Much appreciated

    Thanks for the follow up @ozcoolie – and sorry for the confusion between WC and WC Admin. Naming is difficult 🙂

    Can someone please tell me exactly where the code snippet is supposed to be placed?

Viewing 15 replies - 1 through 15 (of 17 total)
  • The topic ‘Massive wc_admin scheduled actions table’ is closed to new replies.