-
Notifications
You must be signed in to change notification settings - Fork 2
Expand file tree
/
Copy pathqbus-client.php
More file actions
60 lines (49 loc) · 929 Bytes
/
Copy pathqbus-client.php
File metadata and controls
60 lines (49 loc) · 929 Bytes
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
<?php
require("/home/q/php/qbus/qbus.php");
#ini_set('memory_limit', '-1');
ini_set('error_reporting', E_ALL);
if (count($argv) > 3)
{
$cluster = $argv[1];
$topic = $argv[2];
$group = $argv[3];
}
else
{
print "Invaild parameter!"."\n";
print "usage: php consumer.php <cluster> <topic> <group>"."\n";
exit(1);
}
$consumer = new QbusConsumer;
$ret = $consumer->init($cluster, "./consumer.log", "./conf/consumer.config");
if ($ret == false)
{
print "Failed init";
exit(1);
}
$ret = $consumer->subscribeOne($group, $topic);
if ($ret == false)
{
print "Failed subscribe";
exit(1);
}
$run = true;
declare(ticks = 1);
function sig_handler($signo)
{
print "stop...\n";
global $run;
$run = false;
}
pcntl_signal(SIGINT, "sig_handler");
$consumer->start();
$msg_info = new QbusMsgContentInfo;
while ($run)
{
if ($consumer->consume($msg_info))
{
echo $msg_info->msg . "\n";
}
}
$consumer->stop();
?>