正在显示
1 个修改的文件
包含
10 行增加
和
4 行删除
@@ -15,7 +15,7 @@ function start(){ | @@ -15,7 +15,7 @@ function start(){ | ||
15 | $pm = new Process\Manager(); | 15 | $pm = new Process\Manager(); |
16 | 16 | ||
17 | // 启动业务进程 | 17 | // 启动业务进程 |
18 | - $pm->addBatch(15,function (Process\Pool $pool, int $worker_id){ | 18 | + $pm->addBatch(30,function (Process\Pool $pool, int $worker_id){ |
19 | 19 | ||
20 | swoole_set_process_name('php-email-sync-list-'.$worker_id); | 20 | swoole_set_process_name('php-email-sync-list-'.$worker_id); |
21 | 21 | ||
@@ -23,6 +23,7 @@ function start(){ | @@ -23,6 +23,7 @@ function start(){ | ||
23 | _echo("业务进程({$worker_id})启动成功"); | 23 | _echo("业务进程({$worker_id})启动成功"); |
24 | 24 | ||
25 | $run_timer = time(); | 25 | $run_timer = time(); |
26 | + $goNum = 0; | ||
26 | // 循环阻塞 | 27 | // 循环阻塞 |
27 | while (true){ | 28 | while (true){ |
28 | 29 | ||
@@ -38,8 +39,8 @@ function start(){ | @@ -38,8 +39,8 @@ function start(){ | ||
38 | // 占用当前的id,占用2小时 | 39 | // 占用当前的id,占用2小时 |
39 | if(redis()->add('just_sync_'.$id,time(),600)){ | 40 | if(redis()->add('just_sync_'.$id,time(),600)){ |
40 | // 启动一个协程 | 41 | // 启动一个协程 |
41 | - go(function () use ($id){ | ||
42 | - | 42 | + go(function () use ($id,&$goNum){ |
43 | + $goNum++; | ||
43 | try{ | 44 | try{ |
44 | // 开始同步 | 45 | // 开始同步 |
45 | (new \Service\SyncMail($id))->sync(); | 46 | (new \Service\SyncMail($id))->sync(); |
@@ -49,7 +50,8 @@ function start(){ | @@ -49,7 +50,8 @@ function start(){ | ||
49 | 50 | ||
50 | 51 | ||
51 | // 协程完成后执行的函数 | 52 | // 协程完成后执行的函数 |
52 | - co::defer(function () use ($id){ | 53 | + co::defer(function () use ($id,&$goNum){ |
54 | + $goNum--; | ||
53 | // 30秒后 消除占用 | 55 | // 30秒后 消除占用 |
54 | redis()->expire('just_sync_'.$id,60); | 56 | redis()->expire('just_sync_'.$id,60); |
55 | // 写入日志 | 57 | // 写入日志 |
@@ -57,6 +59,10 @@ function start(){ | @@ -57,6 +59,10 @@ function start(){ | ||
57 | }); | 59 | }); |
58 | 60 | ||
59 | }); | 61 | }); |
62 | + while ($goNum == 0){ | ||
63 | + co::sleep(0.5); | ||
64 | + break; | ||
65 | + } | ||
60 | } | 66 | } |
61 | }else{ | 67 | }else{ |
62 | co::sleep(1); | 68 | co::sleep(1); |
-
请 注册 或 登录 后发表评论