Term Splitting: Switch to a faster cron unschedule process to benefit sites with thousands of affected jobs. Fix the cron hook name in the failsafe rescheduler.
Props Otto42, dd32, peterwilsoncc See #33423 git-svn-id: https://develop.svn.wordpress.org/trunk@33727 602fd350-edb4-49c9-b593-d223f7449a82
This commit is contained in:
parent
8b0cfb52ca
commit
3b525395cc
@ -1590,11 +1590,8 @@ function upgrade_431() {
|
||||
// Fix incorrect cron entries for term splitting
|
||||
$cron_array = _get_cron_array();
|
||||
if ( isset( $cron_array['wp_batch_split_terms'] ) ) {
|
||||
foreach ( $cron_array['wp_batch_split_terms'] as $timestamp_hook => $cron_data ) {
|
||||
foreach ( $cron_data as $key => $args ) {
|
||||
wp_unschedule_event( 'wp_batch_split_terms', $timestamp_hook, $args['args'] );
|
||||
}
|
||||
}
|
||||
unset( $cron_array['wp_batch_split_terms'] );
|
||||
_set_cron_array( $cron_array );
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -4441,15 +4441,15 @@ function _wp_batch_split_terms() {
|
||||
}
|
||||
|
||||
/**
|
||||
* In order to avoid the wp_batch_split_terms() job being accidentally removed,
|
||||
* In order to avoid the _wp_batch_split_terms() job being accidentally removed,
|
||||
* check that it's still scheduled while we haven't finished splitting terms.
|
||||
*
|
||||
* @ignore
|
||||
* @since 4.3.0
|
||||
*/
|
||||
function _wp_check_for_scheduled_split_terms() {
|
||||
if ( ! get_option( 'finished_splitting_shared_terms' ) && ! wp_next_scheduled( 'wp_batch_split_terms' ) ) {
|
||||
wp_schedule_single_event( time() + MINUTE_IN_SECONDS, 'wp_batch_split_terms' );
|
||||
if ( ! get_option( 'finished_splitting_shared_terms' ) && ! wp_next_scheduled( 'wp_split_shared_term_batch' ) ) {
|
||||
wp_schedule_single_event( time() + MINUTE_IN_SECONDS, 'wp_split_shared_term_batch' );
|
||||
}
|
||||
}
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user