* specific interval, specified by you. The action will trigger when someone
* visits your WordPress site, if the scheduled time has passed.
*
- * Valid values for the recurrence are hourly, daily and twicedaily. These can
+ * Valid values for the recurrence are hourly, daily and twicedaily. These can
* be extended using the cron_schedules filter in wp_get_schedules().
*
* Use wp_next_scheduled() to prevent duplicates
*/
function spawn_cron( $local_time = 0 ) {
- if ( !$local_time )
- $local_time = time();
+ if ( ! $local_time )
+ $local_time = microtime( true );
if ( defined('DOING_CRON') || isset($_GET['doing_wp_cron']) )
return;
if ( !empty($_POST) || defined('DOING_AJAX') )
return;
- $doing_wp_cron = $local_time;
+ $doing_wp_cron = sprintf( '%.22F', $local_time );
set_transient( 'doing_cron', $doing_wp_cron );
ob_start();
return;
}
- $doing_wp_cron = $local_time;
+ $doing_wp_cron = sprintf( '%.22F', $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)) );
+ $cron_url = site_url( '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 ) ) );
}
/**
if ( false === $crons = _get_cron_array() )
return;
- $local_time = time();
+ $local_time = microtime( true );
$keys = array_keys( $crons );
if ( isset($keys[0]) && $keys[0] > $local_time )
return;