正在显示
1 个修改的文件
包含
12 行增加
和
3 行删除
@@ -15,6 +15,8 @@ function start(){ | @@ -15,6 +15,8 @@ function start(){ | ||
15 | swoole_set_process_name('php-email-sync-list-check'); | 15 | swoole_set_process_name('php-email-sync-list-check'); |
16 | 16 | ||
17 | $id = 0; | 17 | $id = 0; |
18 | + | ||
19 | + $goNum = 0; | ||
18 | // 循环阻塞 | 20 | // 循环阻塞 |
19 | while (true){ | 21 | while (true){ |
20 | 22 | ||
@@ -22,7 +24,8 @@ function start(){ | @@ -22,7 +24,8 @@ function start(){ | ||
22 | 24 | ||
23 | if($id){ | 25 | if($id){ |
24 | // 启动一个协程 | 26 | // 启动一个协程 |
25 | - go(function () use ($id){ | 27 | + go(function () use ($id,&$goNum){ |
28 | + $goNum++; | ||
26 | // 开始同步 | 29 | // 开始同步 |
27 | try { | 30 | try { |
28 | sync($id); | 31 | sync($id); |
@@ -30,15 +33,21 @@ function start(){ | @@ -30,15 +33,21 @@ function start(){ | ||
30 | echo $e->getMessage(); | 33 | echo $e->getMessage(); |
31 | } | 34 | } |
32 | \Lib\Log::getInstance()->write(); | 35 | \Lib\Log::getInstance()->write(); |
36 | + | ||
37 | + co::defer(function () use (&$goNum){ | ||
38 | + $goNum--; | ||
39 | + }); | ||
33 | }); | 40 | }); |
34 | 41 | ||
35 | }else{ | 42 | }else{ |
36 | - //每次都暂停1秒,防止同一时间启动太多的任务 | ||
37 | - co::sleep(300); | ||
38 | break; | 43 | break; |
39 | } | 44 | } |
40 | } | 45 | } |
41 | 46 | ||
47 | + while ($goNum>0){ | ||
48 | + co::sleep(1); | ||
49 | + } | ||
50 | + _echo('结束了'); | ||
42 | } | 51 | } |
43 | 52 | ||
44 | /** | 53 | /** |
-
请 注册 或 登录 后发表评论