--TEST-- swoole_redis: subscribe & publish --SKIPIF-- <?php require __DIR__ . '/../include/skipif.inc'; if (!class_exists("swoole_redis", false)) { exit("required redis."); } ?> --INI-- assert.active=1 assert.warning=1 assert.bail=0 assert.quiet_eval=0 --FILE-- <?php require_once __DIR__ . '/../include/bootstrap.php'; require_once __DIR__ . '/../include/swoole.inc'; parent_child(function ($pid) { //父进程 suicide(3000); $redis = new \swoole_redis(); $redis->on("message", function (\swoole_redis $redis, $message) use ($pid) { if ($message[0] == 'subscribe') { return; } assert($message !== false); assert($message[2] === "payload!!!"); pcntl_waitpid($pid, $status); swoole_event_exit(); }); $redis->connect(REDIS_SERVER_HOST, REDIS_SERVER_PORT, function (\swoole_redis $redis, $r) { assert($r); $redis->subscribe("test_on_message"); }); }, function () { //子进程 suicide(2000); $redis = new \swoole_redis(); $redis->connect(REDIS_SERVER_HOST, REDIS_SERVER_PORT, function (\swoole_redis $redis, $r) { assert($r); $r = $redis->publish("test_on_message", "payload!!!", function (\swoole_redis $redis, $r) { assert($r); swoole_event_exit(); }); assert($r); }); }); ?> --EXPECT--