Ben atımlardır düşünürdüm Staggered sonraki yapmamı, doğası gereği kene tarayıcı süresi ile belirlenir time()
içinde scheduleNextTick()
de yöntemin /wp-includes/js/heartbeat.js
dosyası:
var delta = time() - settings.lastTick,
interval = settings.mainInterval;
burada setTimeout
işlev ile bir sonraki onay işaretini planlamak için kullanılır :
if ( delta < interval ) {
settings.beatTimer = window.setTimeout(
function() {
connect();
},
interval - delta
);
} else {
connect();
}
Tarayıcı süresi şu şekilde tanımlanır:
function time() {
return (new Date()).getTime();
}
connect()
Yöntem ajax arama ve kullanımları içeriralways()
.always( function() {
settings.connecting = false;
scheduleNextTick();
})
sonraki onaylamayı planlamak için.
Kullanılabilir tik aralıkları 5s, 15s, 30s ve 60s'dir.
Kısa bir kene aralığı olan çok sayıda aktif kullanıcı için, ritimler aynı anda gerçekleşebilir.
Bazı verilere sahip olmak her zaman iyidir, böylece giriş yapmış kullanıcılardan gelen keneleri heartbeat_tick
kanca ile kaydedebilirsiniz :
add_action( 'heartbeat_tick',
function( $response, $screen_id )
{
$file = WP_CONTENT_DIR . '/ticks.log'; // Edit this filepath to your needs.
if( file_exists( $file ) && is_writeable( $file ) )
{
file_put_contents(
$file,
sprintf( "%s - Tick from user_id : %d - from screen_id : %s" . PHP_EOL,
date( 'c' ),
get_current_user_id(),
$screen_id
),
FILE_APPEND | LOCK_EX
);
}
}
, 11, 2 );
İşte ticks.log
dosyadan bir örnek :
2014-09-01T12:41:04+00:00 - Tick from user_id : 1 - from screen_id : edit-post
2014-09-01T12:41:19+00:00 - Tick from user_id : 1 - from screen_id : edit-post
2014-09-01T12:41:34+00:00 - Tick from user_id : 1 - from screen_id : edit-post
2014-09-01T12:41:56+00:00 - Tick from user_id : 1 - from screen_id : post
2014-09-01T12:42:11+00:00 - Tick from user_id : 1 - from screen_id : post
2014-09-01T12:42:20+00:00 - Tick from user_id : 3 - from screen_id : upload
2014-09-01T12:42:38+00:00 - Tick from user_id : 1 - from screen_id : post
2014-09-01T12:43:05+00:00 - Tick from user_id : 1 - from screen_id : post
2014-09-01T12:43:08+00:00 - Tick from user_id : 3 - from screen_id : attachment
2014-09-01T12:43:20+00:00 - Tick from user_id : 1 - from screen_id : post
2014-09-01T12:43:36+00:00 - Tick from user_id : 1 - from screen_id : post
2014-09-01T12:44:17+00:00 - Tick from user_id : 3 - from screen_id : profile