You've already forked qlg.tsgz.moe
Init Repo
This commit is contained in:
62
vendor/swoole/tests/swoole_redis/subscribe.phpt
vendored
Executable file
62
vendor/swoole/tests/swoole_redis/subscribe.phpt
vendored
Executable file
@ -0,0 +1,62 @@
|
||||
--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--
|
Reference in New Issue
Block a user