Saya akan berpikir bahwa ketukan itu terhuyung - huyung oleh alam, karena centang selanjutnya ditentukan oleh waktu browser time()
dalam scheduleNextTick()
metode dalam /wp-includes/js/heartbeat.js
file:
var delta = time() - settings.lastTick,
interval = settings.mainInterval;
di mana ia digunakan untuk menjadwalkan centang berikutnya dengan setTimeout
fungsi:
if ( delta < interval ) {
settings.beatTimer = window.setTimeout(
function() {
connect();
},
interval - delta
);
} else {
connect();
}
Waktu browser didefinisikan sebagai:
function time() {
return (new Date()).getTime();
}
The connect()
metode berisi panggilan ajax dan penggunaanalways()
.always( function() {
settings.connecting = false;
scheduleNextTick();
})
untuk menjadwalkan centang berikutnya.
Interval centang yang tersedia adalah 5s, 15s, 30s, dan 60s.
Untuk sejumlah besar pengguna yang sangat aktif, dengan interval centang pendek, ketukan mungkin tampak terjadi secara bersamaan.
Itu selalu baik untuk memiliki beberapa data, sehingga Anda bisa mencatat kutu dari pengguna yang masuk, dengan heartbeat_tick
kait:
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 );
Berikut ini contoh dari ticks.log
file tersebut:
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