正在显示
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 |
-
请 注册 或 登录 后发表评论