Definition:
function spawn_cron( $local_time = 0 ) {}
Send request to run cron through HTTP request that doesn’t halt page loading.
Parameters
- $local_time
Return values
returns:Cron could not be spawned, because it is not needed to run.
Defined filters
- https_local_ssl_verify
apply_filters('https_local_ssl_verify', true)
Source code
function spawn_cron( $local_time = 0 ) { if ( !$local_time ) $local_time = time(); if ( defined('DOING_CRON') || isset($_GET['doing_wp_cron']) ) return; /* * multiple processes on multiple web servers can run this code concurrently * try to make this as atomic as possible by setting doing_cron switch */ $lock = get_transient('doing_cron'); if ( $lock > $local_time + 10*60 ) $lock = 0; // don't run if another process is currently running it or more than once every 60 sec. if ( $lock + WP_CRON_LOCK_TIMEOUT > $local_time ) return; //sanity check $crons = _get_cron_array(); if ( !is_array($crons) ) return; $keys = array_keys( $crons ); if ( isset($keys[0]) && $keys[0] > $local_time ) return; if ( defined('ALTERNATE_WP_CRON') && ALTERNATE_WP_CRON ) { if ( !empty($_POST) || defined('DOING_AJAX') ) return; $doing_wp_cron = $local_time; set_transient( 'doing_cron', $doing_wp_cron ); ob_start(); wp_redirect( add_query_arg('doing_wp_cron', $doing_wp_cron, stripslashes($_SERVER['REQUEST_URI'])) ); echo ' '; // flush any buffers and send the headers while ( @ob_end_flush() ); flush(); WP_DEBUG ? include_once( ABSPATH . 'wp-cron.php' ) : @include_once( ABSPATH . 'wp-cron.php' ); return; } $doing_wp_cron = $local_time; set_transient( 'doing_cron', $doing_wp_cron ); $cron_url = get_option( 'siteurl' ) . '/wp-cron.php?doing_wp_cron=' . $doing_wp_cron; wp_remote_post( $cron_url, array('timeout' => 0.01, 'blocking' => false, 'sslverify' => apply_filters('https_local_ssl_verify', true)) ); }
2905
No comments yet... Be the first to leave a reply!