Don't suspend cache invalidation when running term splitting batch routine.
`wp_suspend_cache_invalidation()` was originally added to increase performance, but the switch to batch processing in [33615] mitigates serious performance concerns. As a precaution against timeouts, the batch size has been reduced from 20 to 10. Props Chouby. See #30261. git-svn-id: https://develop.svn.wordpress.org/trunk@33619 602fd350-edb4-49c9-b593-d223f7449a82
This commit is contained in:
parent
7abf08a52c
commit
9c70cea98f
@ -4375,7 +4375,7 @@ function _wp_batch_split_terms() {
|
||||
LEFT JOIN {$wpdb->terms} t ON t.term_id = tt.term_id
|
||||
GROUP BY t.term_id
|
||||
HAVING term_tt_count > 1
|
||||
LIMIT 20"
|
||||
LIMIT 10"
|
||||
);
|
||||
|
||||
// No more terms, we're done here.
|
||||
@ -4401,7 +4401,6 @@ function _wp_batch_split_terms() {
|
||||
$shared_tts = $wpdb->get_results( "SELECT * FROM {$wpdb->term_taxonomy} WHERE `term_id` IN ({$shared_term_ids})" );
|
||||
|
||||
// Split term data recording is slow, so we do it just once, outside the loop.
|
||||
$suspend = wp_suspend_cache_invalidation( true );
|
||||
$split_term_data = get_option( '_split_terms', array() );
|
||||
$skipped_first_term = $taxonomies = array();
|
||||
foreach ( $shared_tts as $shared_tt ) {
|
||||
@ -4432,7 +4431,6 @@ function _wp_batch_split_terms() {
|
||||
_get_term_hierarchy( $tax );
|
||||
}
|
||||
|
||||
wp_suspend_cache_invalidation( $suspend );
|
||||
update_option( '_split_terms', $split_term_data );
|
||||
|
||||
delete_option( $lock_name );
|
||||
|
Loading…
x
Reference in New Issue
Block a user