使用方法引用的是:http://doc.workerman.net/faq/async-task.html
?高并發(fā)下,workerman把繁重的任務(wù)交給本機另一個任務(wù)進程異步處理。
workerman發(fā)送數(shù)據(jù),發(fā)送的$task_data里帶有發(fā)送時間的時間戳:
$task_data = time();
$task_connection->send(json_encode($task_data));
任務(wù)進程接受數(shù)據(jù):
$task_worker->onMessage = function($connection, $task_data)
{
$task_data = json_decode($task_data, true);
// receive_time 在高并發(fā)下有時候會有十幾秒
$receive_time = time() - $task_data;
}
任務(wù)進程接到任務(wù)的時候,當(dāng)前時間和發(fā)送時間相減,發(fā)現(xiàn)高并發(fā)情況下,有時候會出現(xiàn)一連串十幾條的任務(wù),接受數(shù)據(jù)延遲達到7、8秒,甚至十幾秒,可能會是什么原因呢。