-
Notifications
You must be signed in to change notification settings - Fork 2
Expand file tree
/
Copy pathprocessor.php
More file actions
54 lines (43 loc) · 1.26 KB
/
Copy pathprocessor.php
File metadata and controls
54 lines (43 loc) · 1.26 KB
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
<?php
/**
* Created by PhpStorm.
* User: baoxulong
* Date: 2018/6/4
* Time: 上午10:06
*/
require "vendor/autoload.php";
$serv = new swoole_server('127.0.0.1', 9501);
$serv->set([
'worker_num' => 2, //工作进程数量
'debug_mode' => 1,
'log_file' => '/tmp/swoole/processor.log',
// 'task_worker_num'=>8
// 'daemonize' => true, //是否作为守护进程
]);
$serv->on('WorkerStart', function ($serv, $fd) {
try {
$container = new \App\Utils\ServiceContainer([\App\Utils\Customer\ServiceProvider::class]);
$customer = $container->customer->getInstance()->setPid($fd);
while (True) {
$customer->exec();
}
} catch (Exception $e) {
var_dump($e->getMessage());
}
});
$serv->on('Task', function ($serv, $fd, $fromId, $data) {
// 收到数据后发送给客户端
echo $data;
});
$serv->on('Receive', function ($serv, $fd, $fromId, $data) {
// 收到数据后发送给客户端
$serv->send($fd, 'Server ' . $data);
});
$serv->on('Finish', function ($serv, $fd) {
echo "Client close." . PHP_EOL;
});
// 客户端断开连接或者server主动关闭连接时 worker进程内调用
$serv->on('Close', function ($serv, $fd) {
echo "Client close." . PHP_EOL;
});
$serv->start();