正在显示
3 个修改的文件
包含
28 行增加
和
12 行删除
| @@ -218,13 +218,14 @@ function create_coroutine(array &$cid,int &$isRunMaxCNum,$worker_id){ | @@ -218,13 +218,14 @@ function create_coroutine(array &$cid,int &$isRunMaxCNum,$worker_id){ | ||
| 218 | function sync($worker_id=0){ | 218 | function sync($worker_id=0){ |
| 219 | // 需要同步的id | 219 | // 需要同步的id |
| 220 | $id = redis()->lPop('sync_email_lists'); | 220 | $id = redis()->lPop('sync_email_lists'); |
| 221 | - _echo($worker_id.': 协程('.co::getCid().'):抢到 '.$id); | ||
| 222 | 221 | ||
| 223 | if(!$id){ | 222 | if(!$id){ |
| 224 | co::sleep(1); | 223 | co::sleep(1); |
| 225 | return -1; | 224 | return -1; |
| 226 | } | 225 | } |
| 227 | 226 | ||
| 227 | + _echo($worker_id.': 协程('.co::getCid().'):抢到 '.$id); | ||
| 228 | + | ||
| 228 | $email = db()->first(\Model\emailSql::first($id)); | 229 | $email = db()->first(\Model\emailSql::first($id)); |
| 229 | if(!$email){ | 230 | if(!$email){ |
| 230 | return 0; | 231 | return 0; |
| @@ -61,17 +61,21 @@ class Mail { | @@ -61,17 +61,21 @@ class Mail { | ||
| 61 | $folder['name'] = explode('/',$folder['parseFolder']); | 61 | $folder['name'] = explode('/',$folder['parseFolder']); |
| 62 | $pid = 0; | 62 | $pid = 0; |
| 63 | foreach ($folder['id'] as $k=>$item){ | 63 | foreach ($folder['id'] as $k=>$item){ |
| 64 | - // 插入到数据库 | ||
| 65 | - $pid = $db->insert( | ||
| 66 | - folderSql::$table, | ||
| 67 | - [ | ||
| 68 | - 'email_id' => $email_id, | ||
| 69 | - 'folder' => $folder['name'][$k], | ||
| 70 | - 'origin_folder' => $item, | ||
| 71 | - 'pid' => $pid | ||
| 72 | - ] | ||
| 73 | - ,false | ||
| 74 | - ); | 64 | + $data = [ |
| 65 | + 'email_id' => $email_id, | ||
| 66 | + 'folder' => $folder['name'][$k], | ||
| 67 | + 'origin_folder' => $item, | ||
| 68 | + 'pid' => $pid | ||
| 69 | + ]; | ||
| 70 | + | ||
| 71 | + if(!$db->value(folderSql::has($data))){ | ||
| 72 | + // 插入到数据库 | ||
| 73 | + $pid = $db->insert( | ||
| 74 | + folderSql::$table, | ||
| 75 | + $data, | ||
| 76 | + false | ||
| 77 | + ); | ||
| 78 | + } | ||
| 75 | } | 79 | } |
| 76 | } | 80 | } |
| 77 | $db->commit(); | 81 | $db->commit(); |
| @@ -25,6 +25,17 @@ class folderSql { | @@ -25,6 +25,17 @@ class folderSql { | ||
| 25 | } | 25 | } |
| 26 | 26 | ||
| 27 | 27 | ||
| 28 | + /** | ||
| 29 | + * 是否存在,存在则返回 id | ||
| 30 | + * @param $where | ||
| 31 | + * @return string | ||
| 32 | + * @author:dc | ||
| 33 | + * @time 2023/2/18 11:48 | ||
| 34 | + */ | ||
| 35 | + public static function has($where){ | ||
| 36 | + return "select `id` from `".self::$table."` where ".dbWhere($where); | ||
| 37 | + } | ||
| 38 | + | ||
| 28 | 39 | ||
| 29 | 40 | ||
| 30 | 41 |
-
请 注册 或 登录 后发表评论