正在显示
1 个修改的文件
包含
7 行增加
和
24 行删除
@@ -30,16 +30,8 @@ class SyncToEsCmd { | @@ -30,16 +30,8 @@ class SyncToEsCmd { | ||
30 | $es = (new Lib\Es\Es('hg_ai_emails')); | 30 | $es = (new Lib\Es\Es('hg_ai_emails')); |
31 | $db = db(); | 31 | $db = db(); |
32 | 32 | ||
33 | - $maxNum = 10000; // 最大执行数量 | ||
34 | - $minTime = 60; // 最小执行时间 秒 | ||
35 | - $maxTime = 1200; // 最大执行时间 秒 | ||
36 | - $runTime = time(); // 开始执行时间 | ||
37 | - while ($maxNum > 0){ | ||
38 | - // 验证最大执行时间 | ||
39 | - if(time() - $runTime > $maxTime){ | ||
40 | - _echo('超过进程最大执行时间'); | ||
41 | - break; | ||
42 | - } | 33 | + |
34 | + while (1){ | ||
43 | 35 | ||
44 | // 检查是否接收到信号 | 36 | // 检查是否接收到信号 |
45 | pcntl_signal_dispatch(); | 37 | pcntl_signal_dispatch(); |
@@ -48,36 +40,27 @@ class SyncToEsCmd { | @@ -48,36 +40,27 @@ class SyncToEsCmd { | ||
48 | _echo('已退出进程'); | 40 | _echo('已退出进程'); |
49 | break; | 41 | break; |
50 | } | 42 | } |
51 | - $maxNum--; | 43 | + |
52 | $id = redis()->lPop('sync_to_es'); | 44 | $id = redis()->lPop('sync_to_es'); |
53 | if($id){ | 45 | if($id){ |
54 | - $data = $db->first(\Model\listsSql::first('`id` = '.$id)); | 46 | + $data = $db->throw()->first(\Model\listsSql::first('`id` = '.$id)); |
55 | if($data){ | 47 | if($data){ |
56 | // 设置 进程 是否在运行 | 48 | // 设置 进程 是否在运行 |
57 | - $data['is_auto']=$db->count('select count(*) from `lists_auto` where `list_id` = '.$data['id']) ? 1 : 0; | 49 | + $data['is_auto']=$db->throw()->count('select count(*) from `lists_auto` where `list_id` = '.$data['id']) ? 1 : 0; |
58 | 50 | ||
59 | $data = $this->getEsData($data); | 51 | $data = $this->getEsData($data); |
60 | $doc_id = $data['email_id'].'_'.$data['folder_id'].'_'.$data['uid']; | 52 | $doc_id = $data['email_id'].'_'.$data['folder_id'].'_'.$data['uid']; |
61 | 53 | ||
62 | $code = $es->save($doc_id,$data); | 54 | $code = $es->save($doc_id,$data); |
63 | if($code!==200){ | 55 | if($code!==200){ |
64 | - sleep(1); | ||
65 | - $code = $es->save($doc_id,$data); // 重试一次 | ||
66 | - } | ||
67 | - if($code!==200){ | 56 | + @file_put_contents(LOG_PATH.'/sync_es_fail.log',$id."\n",FILE_APPEND); |
57 | + redis()->rPush('sync_to_es',$id); | ||
68 | _echo('同步es: '.$doc_id.'===>'.$code); | 58 | _echo('同步es: '.$doc_id.'===>'.$code); |
69 | } | 59 | } |
70 | continue; | 60 | continue; |
71 | } | 61 | } |
72 | } | 62 | } |
73 | 63 | ||
74 | -// _echo('没有找到数据'); | ||
75 | - | ||
76 | - if(time() - $runTime > $minTime){ | ||
77 | - _echo('最小执行时间 退出'); | ||
78 | - break; | ||
79 | - } | ||
80 | - | ||
81 | sleep(1); | 64 | sleep(1); |
82 | } | 65 | } |
83 | 66 |
-
请 注册 或 登录 后发表评论