mirror of
https://github.com/WordPress/WordPress.git
synced 2025-01-03 15:08:10 +01:00
wp_schedule_single_event()
should not prevent scheduling a future duplicate event. It should only reject an event as a duplicate if there is already a similar event scheduled within 10 minutes of the given timestamp.
Adds unit tests, fixes existing cron test. Props tellyworth. See [9181], #6966. Fixes #28213. Built from https://develop.svn.wordpress.org/trunk@29939 git-svn-id: http://core.svn.wordpress.org/trunk@29690 1a063a9b-81f0-0310-95a4-ce76da25c4cd
This commit is contained in:
parent
0f8e7d0e55
commit
ea679e358e
@ -20,10 +20,11 @@
|
||||
* @param array $args Optional. Arguments to pass to the hook's callback function.
|
||||
*/
|
||||
function wp_schedule_single_event( $timestamp, $hook, $args = array()) {
|
||||
// don't schedule a duplicate if there's already an identical event due in the next 10 minutes
|
||||
// don't schedule a duplicate if there's already an identical event due within 10 minutes of it
|
||||
$next = wp_next_scheduled($hook, $args);
|
||||
if ( $next && $next <= $timestamp + 10 * MINUTE_IN_SECONDS )
|
||||
if ( $next && abs( $next - $timestamp ) <= 10 * MINUTE_IN_SECONDS ) {
|
||||
return;
|
||||
}
|
||||
|
||||
$crons = _get_cron_array();
|
||||
$event = (object) array( 'hook' => $hook, 'timestamp' => $timestamp, 'schedule' => false, 'args' => $args );
|
||||
|
Loading…
Reference in New Issue
Block a user