2019-09-06 23:53:10 +08:00

63 lines
1.4 KiB
PHP
Executable File

--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--