正在显示
1 个修改的文件
包含
58 行增加
和
58 行删除
| @@ -53,43 +53,43 @@ function start(){ | @@ -53,43 +53,43 @@ function start(){ | ||
| 53 | co::sleep(1); | 53 | co::sleep(1); |
| 54 | }else{ | 54 | }else{ |
| 55 | // 占用当前的id,占用2小时 | 55 | // 占用当前的id,占用2小时 |
| 56 | - redis()->add('just_sync_'.$id,time(),7200); | ||
| 57 | - // 启动一个协程 | ||
| 58 | - go(function () use (&$start_num,$worker_id,$id){ | ||
| 59 | - $start_num++; | ||
| 60 | - | ||
| 61 | - // 开始同步 | ||
| 62 | - try { | ||
| 63 | - sync($id,$worker_id); | ||
| 64 | - }catch (\Throwable $e){ | ||
| 65 | - // 重新发布同步任务,如果失败了是否重新发布 | 56 | + if(redis()->add('just_sync_'.$id,time(),7200)){ |
| 57 | + // 启动一个协程 | ||
| 58 | + go(function () use (&$start_num,$worker_id,$id){ | ||
| 59 | + $start_num++; | ||
| 60 | + | ||
| 61 | + // 开始同步 | ||
| 62 | + try { | ||
| 63 | + sync($id,$worker_id); | ||
| 64 | + }catch (\Throwable $e){ | ||
| 65 | + // 重新发布同步任务,如果失败了是否重新发布 | ||
| 66 | // redis()->rPush('sync_email_lists',$id); | 66 | // redis()->rPush('sync_email_lists',$id); |
| 67 | 67 | ||
| 68 | // _echo($e->getMessage()); | 68 | // _echo($e->getMessage()); |
| 69 | - logs( | ||
| 70 | - $e->getMessage().PHP_EOL.$e->getTraceAsString(), | ||
| 71 | - LOG_PATH.'/'.$worker_id.'.log' | ||
| 72 | - ); | ||
| 73 | - } | ||
| 74 | - | ||
| 75 | - // 协程完成后执行的函数 | ||
| 76 | - co::defer(function () use (&$start_num,$worker_id,$id){ | 69 | + logs( |
| 70 | + $e->getMessage().PHP_EOL.$e->getTraceAsString(), | ||
| 71 | + LOG_PATH.'/'.$worker_id.'.log' | ||
| 72 | + ); | ||
| 73 | + } | ||
| 74 | + | ||
| 75 | + // 协程完成后执行的函数 | ||
| 76 | + co::defer(function () use (&$start_num,$worker_id,$id){ | ||
| 77 | // _echo('正常关闭进程('.$worker_id.')下的协程('.co::getCid().')'); | 77 | // _echo('正常关闭进程('.$worker_id.')下的协程('.co::getCid().')'); |
| 78 | - $start_num--; | ||
| 79 | - // 消除占用 | ||
| 80 | - redis()->delete('just_sync_'.$id); | ||
| 81 | - // 写入日志 | ||
| 82 | - \Lib\Log::getInstance()->write(); | 78 | + $start_num--; |
| 79 | + // 消除占用 | ||
| 80 | + redis()->delete('just_sync_'.$id); | ||
| 81 | + // 写入日志 | ||
| 82 | + \Lib\Log::getInstance()->write(); | ||
| 83 | 83 | ||
| 84 | - // 关闭数据库链接 | ||
| 85 | - db()->close(); | ||
| 86 | - // 关闭redis链接 | ||
| 87 | - redis()->close(); | 84 | + // 关闭数据库链接 |
| 85 | + db()->close(); | ||
| 86 | + // 关闭redis链接 | ||
| 87 | + redis()->close(); | ||
| 88 | 88 | ||
| 89 | - }); | ||
| 90 | - | ||
| 91 | - }); | 89 | + }); |
| 92 | 90 | ||
| 91 | + }); | ||
| 92 | + } | ||
| 93 | } | 93 | } |
| 94 | }else{ | 94 | }else{ |
| 95 | // 协程到了最大的数量,阻塞1秒 | 95 | // 协程到了最大的数量,阻塞1秒 |
| @@ -118,41 +118,41 @@ function start(){ | @@ -118,41 +118,41 @@ function start(){ | ||
| 118 | co::sleep(1); | 118 | co::sleep(1); |
| 119 | }else{ | 119 | }else{ |
| 120 | // 占用当前的id,占用2小时 | 120 | // 占用当前的id,占用2小时 |
| 121 | - redis()->add('just_sync_body_'.$id['lists_id'],time(),600); | ||
| 122 | - // 启动一个协程 | ||
| 123 | - go(function () use (&$start_num,$worker_id,$id){ | 121 | + if(redis()->add('just_sync_body_'.$id['lists_id'],time(),600)){ |
| 122 | + // 启动一个协程 | ||
| 123 | + go(function () use (&$start_num,$worker_id,$id){ | ||
| 124 | 124 | ||
| 125 | - $start_num++; | 125 | + $start_num++; |
| 126 | 126 | ||
| 127 | - // 开始同步 | ||
| 128 | - try { | ||
| 129 | - sync_body($id,$worker_id); | ||
| 130 | - }catch (\Throwable $e){ | 127 | + // 开始同步 |
| 128 | + try { | ||
| 129 | + sync_body($id,$worker_id); | ||
| 130 | + }catch (\Throwable $e){ | ||
| 131 | // _echo($e->getMessage()); | 131 | // _echo($e->getMessage()); |
| 132 | - logs( | ||
| 133 | - $e->getMessage().PHP_EOL.$e->getTraceAsString(), | ||
| 134 | - LOG_PATH.'/'.$worker_id.'.log' | ||
| 135 | - ); | ||
| 136 | - } | ||
| 137 | - | ||
| 138 | - // 协程完成后执行的函数 | ||
| 139 | - co::defer(function () use (&$start_num,$worker_id,$id){ | 132 | + logs( |
| 133 | + $e->getMessage().PHP_EOL.$e->getTraceAsString(), | ||
| 134 | + LOG_PATH.'/'.$worker_id.'.log' | ||
| 135 | + ); | ||
| 136 | + } | ||
| 137 | + | ||
| 138 | + // 协程完成后执行的函数 | ||
| 139 | + co::defer(function () use (&$start_num,$worker_id,$id){ | ||
| 140 | // _echo('正常关闭进程('.$worker_id.')下的协程('.co::getCid().')'); | 140 | // _echo('正常关闭进程('.$worker_id.')下的协程('.co::getCid().')'); |
| 141 | - $start_num--; | ||
| 142 | - // 消除占用 | ||
| 143 | - redis()->delete('just_sync_body_'.$id['lists_id']); | ||
| 144 | - // 写入日志 | ||
| 145 | - \Lib\Log::getInstance()->write(); | 141 | + $start_num--; |
| 142 | + // 消除占用 | ||
| 143 | + redis()->delete('just_sync_body_'.$id['lists_id']); | ||
| 144 | + // 写入日志 | ||
| 145 | + \Lib\Log::getInstance()->write(); | ||
| 146 | 146 | ||
| 147 | - // 关闭数据库链接 | ||
| 148 | - db()->close(); | ||
| 149 | - // 关闭redis链接 | ||
| 150 | - redis()->close(); | 147 | + // 关闭数据库链接 |
| 148 | + db()->close(); | ||
| 149 | + // 关闭redis链接 | ||
| 150 | + redis()->close(); | ||
| 151 | 151 | ||
| 152 | - }); | ||
| 153 | - | ||
| 154 | - }); | 152 | + }); |
| 155 | 153 | ||
| 154 | + }); | ||
| 155 | + } | ||
| 156 | } | 156 | } |
| 157 | }else{ | 157 | }else{ |
| 158 | // 协程到了最大的数量,阻塞1秒 | 158 | // 协程到了最大的数量,阻塞1秒 |
-
请 注册 或 登录 后发表评论