Support » Plugin: Advanced AJAX Product Filters » Generating Additional tables on large amount of data

  • Resolved richardgeorgedavis

    (@richardgeorgedavis)


    The site I’m working on has over 12000 products, mostly variations, and after every product import (run through WP All Import) Additional tables are generated however this takes over 8 hours to complete, and during this time the shop page becomes unresponsive.

    Is there a way to speed this up and to increase the limits (such as batch size, concurrency and timeout periods) to process large queues of actions?

Viewing 14 replies - 1 through 14 (of 14 total)
  • Plugin Author RazyRx

    (@razyrx)

    Hello,

    Plugin do not have any possibility to change from outside how it is generates. You can only edit file in plugin and change it.
    The file is /addons/additional_tables/additional_tables.php and lines that limit each request are
    $end_id = $start_id + 5000;
    and
    $end_id = $start_id + 10000;
    Where 5000 and 10000 is number of rows from database.

    Regards,
    Oleg

    Can you more explain what the solution is?
    i have the exact same problem…

    Thx
    Greets,
    Jeroen

    Plugin Author Dima Holovnia

    (@dholovnia)

    Hello Jeroen,

    Edit file /addons/additional_tables/additional_tables.php in the plugin folder.
    Search for $end_id = $start_id + 5000; and change to $end_id = $start_id + 20000;
    Search for $end_id = $start_id + 10000; and change to $end_id = $start_id + 50000;

    Save file and try it. Reload tables with this steps: turn on addon, save settings, turn on addon, save settings. Check the difference.

    Regards,
    Dima

    When i change it next error comes:

    wp-content/plugins/woocommerce-ajax-filters/addons/additional_tables/additional_tables.php on line 1

    any idea’s?

    thx for the fast reactions
    greets,

    Jeroen

    Thread Starter richardgeorgedavis

    (@richardgeorgedavis)

    Tested, and additional tables are generating in a fraction of the time.

    Thank you.

    Plugin Author RazyRx

    (@razyrx)

    Hello, @jgabjanssen,

    You provide only file where you have error, but what exactly error you have?

    Regards,
    Oleg

    Plugin Author Dima Holovnia

    (@dholovnia)

    @richardgeorgedavis, could you tell please how much faster?
    Maybe we would add some option to control this by the clients if result is noticeable.

    Regards,
    Dima

    Thread Starter richardgeorgedavis

    (@richardgeorgedavis)

    @dholovnia with the tests performed before and after there was a huge difference for processing 12281 records.

    Before making your suggested changes, the average time was around 8 hours and now it’s less than an hour.

    Just a note for anyone else with a large number of records to process, the Woocommerce limits should also be changed however, these all depend on your hosting resources – if you exceed resources your site will crash so use a test Environment or staging server first.

    I have just further tested the function on a test website. Problem fixed. It’s about 30 minutes now. instead all day .. Adding these options in the plugin would certainly be an addition

    Plugin Author Dima Holovnia

    (@dholovnia)

    I have created a request for this feature already. We will add it asap.

    Regards,
    Dima

    Hi guys,

    is it possible to raise the numbers futher on for speed?

    Looks like it takes an hour. however it seems that I have to be logged in for this … but in the meantime the page is not accessible.

    Plugin Author Dima Holovnia

    (@dholovnia)

    Hi,

    Sure. You can set there any numbers but if memory will be not enough to manage all the rows per execution it will stuck. Just change the numbers to something smaller and re-activate the tables plugin.

    Regards,
    Dima

    Thread Starter richardgeorgedavis

    (@richardgeorgedavis)

    Hi,

    I see the new 3.0.3 update includes “New hook to change additional table generation products per call”.

    Could you assist with the function required?

    Plugin Author Dima Holovnia

    (@dholovnia)

    Hi

    There are 2 hooks
    berocket_insert_table_braapf_product_stock_status_parent_end – default value is 5000
    berocket_insert_table_braapf_product_variation_attributes_end – default value is 10000

    Functions should look like this:

    
    add_filter('berocket_insert_table_braapf_product_stock_status_parent_end', 'berocket_insert_table_braapf_product_num_end_487rg348734');
    function berocket_insert_table_braapf_product_num_end_487rg348734() {
        return 50000; //x10
    }
    add_filter('berocket_insert_table_braapf_product_variation_attributes_end', 'berocket_insert_table_braapf_product_num_end_8437g349g34t');
    function berocket_insert_table_braapf_product_num_end_8437g349g34t() {
        return 100000; //x10
    }
    

    Regards,
    Dima

Viewing 14 replies - 1 through 14 (of 14 total)
  • The topic ‘Generating Additional tables on large amount of data’ is closed to new replies.