国产+高潮+在线,国产 av 仑乱内谢,www国产亚洲精品久久,51国产偷自视频区视频,成人午夜精品网站在线观看

new worker單獨(dú)處理定時(shí)器的問題

javascript

Gateway游戲項(xiàng)目,不同房間游戲開始之前定時(shí)30秒,30秒后開始處理游戲,上次的問題雖然搞定了異步進(jìn)行,現(xiàn)在問題是前端顯示會(huì)跳過秒數(shù),比如30 29 直接27了這樣,這個(gè)秒數(shù)我是從數(shù)據(jù)庫(kù)讀出來每一秒都返回給前端,會(huì)不會(huì)是這個(gè)頻繁操作數(shù)據(jù)庫(kù)引起的?如果客戶端開多了房間,我估計(jì)很快就卡住了,看了社區(qū)的問題想單獨(dú)開啟個(gè)進(jìn)程來處理定時(shí)器,麻煩指導(dǎo)下該怎么做,新手, 謝謝了。

下面是別人問題中的 http://wenda.workerman.net/?/question/1020
Events.php

public static function onConnect($client_id)
    {
        $task_connection = new AsyncTcpConnection('Text://127.0.0.1:13000');
        $task_connection->send('send to task workerman');
        $task_data = array(
            'function' => 'send_mail',
            'args' => array('from'=>'xxx', 'to'=>'xxx', 'contents'=>'xxx'),
        );
        $task_connection->send(json_encode($task_data));
        $task_connection->onMessage = function($task_connection, $task_result){
             // 結(jié)果
             var_dump($task_result);
             // 獲得結(jié)果后記得關(guān)閉鏈接
             $task_connection->close();
        };
        // 執(zhí)行異步鏈接
        $task_connection->connect();
}

然后這段代碼該放在哪里呢

$task_worker = new Worker('Text://127.0.0.1:13000');
$task_worker->count = 10;
$task_worker->name = 'TaskWorker';
$task_worker->onMessage = function($connection, $task_data){
    $task_data = json_decode($task_data, true);
    $task_result = 'fuck you';
    $connection->send(json_encode($task_result));
};
if(!defined('GLOBAL_START'))
{
    Worker::runAll();
}
4712 3 0
3個(gè)回答

walkor 打賞

一個(gè)簡(jiǎn)單的倒計(jì)時(shí)為什么讀數(shù)據(jù)庫(kù)呢?直接一個(gè)每秒一次的定時(shí)器記錄下變量累減就好了。

定時(shí)器放在單獨(dú)進(jìn)程或者其它進(jìn)程都可以,看自己會(huì)哪種。

  • javascript 2017-07-06

    不同房間游戲開始的時(shí)候倒計(jì)時(shí)累減的變量不會(huì)被覆蓋嗎

walkor 打賞

操作不同的變量就好了。
例如搞個(gè)全局?jǐn)?shù)組

global $time_map;
$time_map = array(
    '房間1' => 當(dāng)前秒數(shù),
    '房間2' => 當(dāng)前秒數(shù),
     ...
)
Timer::add(1, function()use($房間號(hào), $connection){
    global $time_map;
    $time_map--;
    $connection->send($time_map);
});
  • javascript 2017-07-06

    謝謝,我試試。。。。use 里面的$connection參數(shù)是什么來的。發(fā)送到哪里去的

你好,能說下workman怎么new worker 單獨(dú)處理定時(shí)器嗎

  • 暫無評(píng)論
年代過于久遠(yuǎn),無法發(fā)表回答
??