redis expired event, swoole monitor

$serv = new Swoole\Server('0.0.0.0', 9501, SWOOLE_BASE, SWOOLE_SOCK_TCP);

$serv->set(array(
    'worker_num' => 2,
    'daemonize' => false,
    'backlog' => 128,
));

$serv->on('WorkerStart', function ($serv, $worker_id){
    swoole_set_process_name("php swoole worker:" . $worker_id);

    $redis = new Redis();
    $redis->pconnect('127.0.0.1', 6379);
    $redis->select(1);//监听db1
    $redis->setOption(\Redis::OPT_READ_TIMEOUT, -1);
    $redis->psubscribe(['__keyevent@1__:expired'], function ($redis, $pattern, $chan, $msg) use ($worker_id) {

        $orderId = intval($msg);
        if ($orderId % 2 == $worker_id){
            echo "1Payload: $msg" . '@' . $worker_id . PHP_EOL;
        }


    });

});

$serv->on('receive', function ($serv, $fd, $reactor_id, $data) {
    echo "[#".$serv->worker_id."]\tClient[$fd]: $data\n";
});

$serv->start();

 

Guess you like

Origin www.cnblogs.com/dongbo/p/11239928.html