Support » Plugin: WooCommerce » Huge spike in CPU usage/Account Executions after 4.0 update

  • Resolved sunsetcanyonpottery

    (@sunsetcanyonpottery)


    I recently updated to 4.0, and cPanel is telling me that my CPU/Account executions have skyrocketed in the last 24 hours. I reached out to Siteground tech support for more info, and here’s the response I got:

    “Thank you for reaching our Help Desk.

    The CPU usage of the account is mostly due to the following process being run every 3-5 seconds –

    Code:
    sunsetcanyonpottery.com-ssl_log:35.206.119.215 – – [12/Mar/2020:11:07:08 -0500] “POST /wp-admin/admin-ajax.php?action=as_async_request_queue_runner&nonce=80dcaf8dc3 HTTP/1.0” 200 – “https://sunsetcanyonpottery.com/wp-admin/admin-ajax.php?action=as_async_request_queue_runner&nonce=80dcaf8dc3” “WordPress/5.3.2; https://sunsetcanyonpottery.com”

    After tracing the process, it is most likely related to the WooCommerce plugin and it would be best to review that with a professional developer so you can find why it creates those and how to limit/stop it from doing so.”

    Please advise,
    Stephen

    The page I need help with: [log in to see the link]

Viewing 9 replies - 1 through 9 (of 9 total)
  • Plugin Support RK

    (@riaanknoetze)

    Hi there,

    Just to check – are the scheduled actions under **WooCommerce > System Status > Scheduled Actions** triggering as expected? Are you seeing any fatal error logs under **WooCommerce > System Status > Logs**?

    sunsetcanyonpottery

    (@sunsetcanyonpottery)

    I have checked the logs and see two fatal error logs:

    from 03.06.20:

    2020-03-06T22:51:06+00:00 CRITICAL Uncaught Error: Call to a member function get_parent_id() on bool in /home/sunsetc7/staging/2/wp-content/plugins/woocommerce/includes/class-wc-discounts.php:709
    Stack trace:
    #0 /home/sunsetc7/staging/2/wp-content/plugins/woocommerce/includes/class-wc-discounts.php(958): WC_Discounts->validate_coupon_product_ids(Object(WC_Coupon))
    #1 /home/sunsetc7/staging/2/wp-content/plugins/woocommerce/includes/class-wc-discounts.php(250): WC_Discounts->is_coupon_valid(Object(WC_Coupon))
    #2 /home/sunsetc7/staging/2/wp-content/plugins/woocommerce/includes/abstracts/abstract-wc-order.php(1134): WC_Discounts->apply_coupon(Object(WC_Coupon))
    #3 /home/sunsetc7/staging/2/wp-content/plugins/order-import-export-for-woocommerce/includes/importer/class-wf-orderimpexpcsv-order-import.php(752): WC_Abstract_Order->apply_coupon(‘10% off salad p…’)
    #4 /home/sunsetc7/staging/2/wp-content/plugins/order-import-export-for-woocommerce/includes/importer/class-wf-orderimpexpcsv-order-import.php(387): WF_OrderImpExpCsv_Order_Import->process_ord in /home/sunsetc7/staging/2/wp-content/plugins/woocommerce/includes/class-wc-discounts.php on line 709

    and from 03.10.20:

    2020-03-10T00:09:19+00:00 CRITICAL Uncaught ArgumentCountError: Too few arguments to function WC_Install::run_update_callback(), 0 passed in /home/sunsetc7/public_html/wp-includes/class-wp-hook.php on line 288 and exactly 1 expected in /home/sunsetc7/public_html/wp-content/plugins/woocommerce/includes/class-wc-install.php:195
    Stack trace:
    #0 /home/sunsetc7/public_html/wp-includes/class-wp-hook.php(288): WC_Install::run_update_callback()
    #1 /home/sunsetc7/public_html/wp-includes/class-wp-hook.php(312): WP_Hook->apply_filters(”, Array)
    #2 /home/sunsetc7/public_html/wp-includes/plugin.php(544): WP_Hook->do_action(Array)
    #3 /home/sunsetc7/public_html/wp-content/plugins/woocommerce/includes/libraries/action-scheduler/classes/ActionScheduler_Action.php(22): do_action_ref_array(‘woocommerce_run…’, Array)
    #4 /home/sunsetc7/public_html/wp-content/plugins/woocommerce/includes/libraries/action-scheduler/classes/ActionScheduler_Abstract_QueueRunner.php(59): ActionScheduler_Action->execute()
    #5 /home/sunsetc7/public_html/wp-content/plugins/woocommerce/i in /home/sunsetc7/public_html/wp-content/plugins/woocommerce/includes/class-wc-install.php on line 195

    2020-03-10T15:45:02+00:00 CRITICAL Uncaught Error: Call to a member function get_parent_id() on bool in /home/sunsetc7/public_html/wp-content/plugins/woocommerce/includes/class-wc-discounts.php:709
    Stack trace:
    #0 /home/sunsetc7/public_html/wp-content/plugins/woocommerce/includes/class-wc-discounts.php(958): WC_Discounts->validate_coupon_product_ids(Object(WC_Coupon))
    #1 /home/sunsetc7/public_html/wp-content/plugins/woocommerce/includes/class-wc-discounts.php(250): WC_Discounts->is_coupon_valid(Object(WC_Coupon))
    #2 /home/sunsetc7/public_html/wp-content/plugins/woocommerce/includes/abstracts/abstract-wc-order.php(1134): WC_Discounts->apply_coupon(Object(WC_Coupon))
    #3 /home/sunsetc7/public_html/wp-content/plugins/order-import-export-for-woocommerce/includes/importer/class-wf-orderimpexpcsv-order-import.php(752): WC_Abstract_Order->apply_coupon(‘10% off salad p…’)
    #4 /home/sunsetc7/public_html/wp-content/plugins/order-import-export-for-woocommerce/includes/importer/class-wf-orderimpexpcsv-order-import.php(387): WF_OrderImpExpCsv_Order_Import- in /home/sunsetc7/public_html/wp-content/plugins/woocommerce/includes/class-wc-discounts.php on line 709

    sunsetcanyonpottery

    (@sunsetcanyonpottery)

    Here are two pending scheduled actions that haven’t fired yet:

    Hook
    wc-admin_import_orders
    Status
    Pending
    Arguments
    0 => 11952
    Group
    wc-admin-data
    Recurrence
    Non-repeating
    Scheduled Date
    2020-03-13 17:09:12 +0000
    (46 seconds ago)
    Log
    2020-03-13 17:09:07 +0000
    action created

    Hook
    wc-admin_import_orders
    Status
    Pending
    Arguments
    0 => 11971
    Group
    wc-admin-data
    Recurrence
    Non-repeating
    Scheduled Date
    2020-03-13 17:09:12 +0000
    (46 seconds ago)
    Log
    2020-03-13 17:09:07 +0000
    action created

    sunsetcanyonpottery

    (@sunsetcanyonpottery)

    Here are two failed scheduled actions:

    Hook
    wc-admin_import_orders_batch
    Status
    Failed
    Arguments
    0 => 1
    1 => NULL
    2 => true
    Group
    wc-admin-data
    Recurrence
    Non-repeating
    Scheduled Date
    2019-05-30 16:22:37 +0000
    (9 months 2 weeks ago)
    Log
    2019-05-30 11:22:32 +0000
    action created
    2019-05-30 11:23:12 +0000
    action started
    2019-05-30 11:23:12 +0000
    unexpected shutdown: PHP Fatal error Uncaught Error: Call to a member function get_customer_id() on boolean in /home/sunsetc7/public_html/wp-content/plugins/woocommerce-admin/includes/data-stores/class-wc-admin-reports-customers-data-store.php:441 Stack trace: #0 /home/sunsetc7/public_html/wp-content/plugins/woocommerce-admin/includes/data-stores/class-wc-admin-reports-customers-data-store.php(464): WC_Admin_Reports_Customers_Data_Store::get_existing_customer_id_from_order(false) #1 /home/sunsetc7/public_html/wp-content/plugins/woocommerce-admin/includes/class-wc-admin-order-refund.php(52): WC_Admin_Reports_Customers_Data_Store::get_or_create_customer_from_order(false) #2 /home/sunsetc7/public_html/wp-content/plugins/woocommerce-admin/includes/data-stores/class-wc-admin-reports-orders-stats-data-store.php(419): WC_Admin_Order_Refund->get_report_customer_id() #3 /home/sunsetc7/public_html/wp-content/plugins/woocommerce-admin/includes/data-stores/class-wc-admin-reports-orders-stats-data-store.php(392): WC_Admin_Reports_Orders_Stats_Data_Store::upd in /home/sunsetc7/public_html/wp-content/plugins/woocommerce-admin/includes/data-stores/class-wc-admin-reports-customers-data-store.php on line 441
    2020-03-10 22:41:25 +0000
    Migrated action with ID 10326 in ActionScheduler_wpPostStore to ID 14991 in ActionScheduler_DBStoreMigrator

    Hook
    woocommerce_run_update_callback
    Status
    Failed
    Arguments
    ‘update_callback’ => ‘wc_update_390_move_maxmind_database’
    Group
    woocommerce-db-updates
    Recurrence
    Non-repeating
    Scheduled Date
    2020-01-22 20:16:34 +0000
    (1 month 2 weeks ago)
    Log
    2020-03-09 19:09:19 +0000
    action started
    2020-03-09 19:09:19 +0000
    There was a failure fetching this action
    2020-03-09 19:09:19 +0000
    unexpected shutdown: PHP Fatal error Uncaught ArgumentCountError: Too few arguments to function WC_Install::run_update_callback(), 0 passed in /home/sunsetc7/public_html/wp-includes/class-wp-hook.php on line 288 and exactly 1 expected in /home/sunsetc7/public_html/wp-content/plugins/woocommerce/includes/class-wc-install.php:195 Stack trace: #0 /home/sunsetc7/public_html/wp-includes/class-wp-hook.php(288): WC_Install::run_update_callback() #1 /home/sunsetc7/public_html/wp-includes/class-wp-hook.php(312): WP_Hook->apply_filters(”, Array) #2 /home/sunsetc7/public_html/wp-includes/plugin.php(544): WP_Hook->do_action(Array) #3 /home/sunsetc7/public_html/wp-content/plugins/woocommerce/includes/libraries/action-scheduler/classes/ActionScheduler_Action.php(22): do_action_ref_array(‘woocommerce_run…’, Array) #4 /home/sunsetc7/public_html/wp-content/plugins/woocommerce/includes/libraries/action-scheduler/classes/ActionScheduler_Abstract_QueueRunner.php(59): ActionScheduler_Action->execute() #5 /home/sunsetc7/public_html/wp-content/plugins/woocommerce/i in /home/sunsetc7/public_html/wp-content/plugins/woocommerce/includes/class-wc-install.php on line 195
    2020-03-10 22:41:25 +0000
    Migrated action with ID 14755 in ActionScheduler_wpPostStore to ID 14992 in ActionScheduler_DBStoreMigrator

    Ana A

    (@ihealthcareanalyst)

    Most probably, the best way to handle this is…
    or what we have done that looks like the CPU usage going down over time is…

    Using Code Snippets Plugin:

    1. Disable WooCommerce Analytics Dashboard

    add_filter( 'woocommerce_admin_disabled', '__return_true' );

    2. Stop Heatbeat completely

    add_action( 'init', 'stop_heartbeat', 1 );
    function stop_heartbeat() {
    wp_deregister_script('heartbeat');
    }

    Hope this helps.

    sunsetcanyonpottery

    (@sunsetcanyonpottery)

    Thank you for your responses! I’m going to try the suggestion by @ihealthcareanalyst first and monitor the site, as that seems a bit simpler to implement. I’ll let you all know how it goes.

    sunsetcanyonpottery

    (@sunsetcanyonpottery)

    So far, it appears that the steps taken by @ihealthcareanalyst are helping keep our usage within tolerable levels. It’s still a bit high for my comfort, but manageable. I’m also working with Elementor tech support to address this because it seems like that is having its own issues.

    I have the same problem. I don’t have plugin woocommerce, but in my template framework genesis there are some call to woocommerce.

    I commenting out the loading of the WooCommerce support files but even this solution doesn’t work.

    Can you suggest other solutions?

    @ihealthcareanalyst: where Can I put your solution? In woocommerce plugin?

    Plugin Support kellymetal

    (@kellymetal)

    Hi there @sunsetcanyonpottery,

    Very glad to hear that the provided snippets have helped improve things on your site! I’m going to mark this thread as resolved.
    If you have any further questions, please start a new thread.

    @mokinalivorg — if you are not using the WooCommerce plugin, then the snippet about disabling the WooCommerce admin dashboard will not make any difference on your site. For the Heartbeat one (and PHP snippets in general), it could be added to your child theme’s functions.php file or via a plugin that allows custom functions to be added, such as the Code Snippets plugin. Please don’t add custom code directly to your parent theme’s functions.php file as this will be wiped entirely when you update.

    That said, if you are not using WooCommerce, then this would not be the right place to discuss your situation. For editing things in the Genesis framework, I would recommend reaching out to the Genesis devs:
    https://my.studiopress.com/themes/genesis/

    Have a wonderful day!

Viewing 9 replies - 1 through 9 (of 9 total)
  • You must be logged in to reply to this topic.