正在显示
1 个修改的文件
包含
19 行增加
和
5 行删除
| 1 | <?php | 1 | <?php |
| 2 | 2 | ||
| 3 | +use Swoole\Process; | ||
| 4 | + | ||
| 3 | include_once "../vendor/autoload.php"; | 5 | include_once "../vendor/autoload.php"; |
| 4 | 6 | ||
| 5 | // 这里试试不用多进程模式,用多协程模式 | 7 | // 这里试试不用多进程模式,用多协程模式 |
| @@ -193,11 +195,23 @@ class SendJob { | @@ -193,11 +195,23 @@ class SendJob { | ||
| 193 | } | 195 | } |
| 194 | 196 | ||
| 195 | } | 197 | } |
| 196 | -// 开启协程 | ||
| 197 | -\Co\run(function (){ | ||
| 198 | 198 | ||
| 199 | - (new SendJob)->start(); | ||
| 200 | 199 | ||
| 201 | - _echo('进程已退出'); | 200 | +$pm = new Process\Manager(); |
| 201 | + | ||
| 202 | +// 启动业务进程 | ||
| 203 | +$pm->addBatch(2,function (Process\Pool $pool, int $worker_id) { | ||
| 204 | + if($worker_id==0){ | ||
| 205 | + $time = time(); | ||
| 206 | + while (1){ | ||
| 207 | + if(time() - $time > 3600){ | ||
| 208 | + $pool->shutdown(); | ||
| 209 | + break; | ||
| 210 | + } | ||
| 211 | + } | ||
| 212 | + return 0; | ||
| 213 | + } | ||
| 214 | + | ||
| 215 | + (new SendJob)->start(); | ||
| 216 | +},true); | ||
| 202 | 217 | ||
| 203 | -}); |
-
请 注册 或 登录 后发表评论