-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathproducer.php
executable file
·51 lines (42 loc) · 1.21 KB
/
producer.php
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
<?php
/**
* Created by IntelliJ IDEA.
* User: tabalt
* Date: 2017/9/14
* Time: 15:20
*/
use PhpNsq\Component\Producer;
use PhpNsq\Component\MessageHandler;
use PhpNsq\Frame\Message;
use PhpNsq\Log\Formater\General as GeneralFormater;
use PhpNsq\Log\Writer\File as FileWriter;
require_once(__DIR__ . '/../vendor/autoload.php');
$formater = new GeneralFormater();
$writer = new FileWriter('/tmp/php_nsq_demo.log');
$logger = new \PhpNsq\Log\Logger($formater, $writer);
$producer = new Producer();
$producer->messageNeedGzip()
->addNsqlookupd('http://127.0.0.1:4161')
->setTimeout(array('sec' => 10,'usec' => 0))
->setLogger($logger);
var_dump("try publish 10 times");
for ($i=0; $i < 10; $i++) {
try {
$ret = $producer->publish('app2_t2', 'hello' . "\t" . date('Y-m-d H:i:s'));
var_dump($ret);
} catch (Exception $e) {
var_dump($e->getMessage());
}
}
sleep(61);
var_dump("try multiPublish after sleep 61s");
$messages = array();
for ($i=0; $i < 10; $i++) {
$messages[] = 'world' . "\t" . date('Y-m-d H:i:s');
}
try {
$ret = $producer->multiPublish('app2_t2', $messages);
var_dump($ret);
} catch (Exception $e) {
var_dump($e->getMessage());
}