作者 邓超

job

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 -});