作者 刘锟

合并分支 'akun' 到 'master'

Akun



查看合并请求 !522
@@ -54,14 +54,10 @@ class HtmlCollect extends Command @@ -54,14 +54,10 @@ class HtmlCollect extends Command
54 protected function start_collect() 54 protected function start_collect()
55 { 55 {
56 $task_id = $this->get_task(); 56 $task_id = $this->get_task();
57 - if ($task_id === false) { 57 + if (!$task_id) {
58 //所有项目采集完成 58 //所有项目采集完成
59 sleep(60); 59 sleep(60);
60 return true; 60 return true;
61 - } elseif ($task_id === 0) {  
62 - //当前项目采集完成  
63 - sleep(2);  
64 - return true;  
65 } 61 }
66 62
67 $task_arr = explode('_', $task_id); 63 $task_arr = explode('_', $task_id);
@@ -146,51 +142,51 @@ class HtmlCollect extends Command @@ -146,51 +142,51 @@ class HtmlCollect extends Command
146 return $task_id; 142 return $task_id;
147 } 143 }
148 144
149 -  
150 - $update_log = UpdateLog::where('status', UpdateLog::STATUS_COM)->where('collect_status', UpdateLog::COLLECT_STATUS_UN)->orderBy('updated_at', 'asc')->first();  
151 - if (!$update_log) { 145 + $update_log_list = UpdateLog::where('status', UpdateLog::STATUS_COM)->where('collect_status', UpdateLog::COLLECT_STATUS_UN)->orderBy('updated_at', 'asc')->limit(20)->get();
  146 + if ($update_log_list->count() == 0) {
152 return false; 147 return false;
153 } 148 }
154 149
155 - switch ($update_log->api_type) {  
156 - case 'page':  
157 - $source = RouteMap::SOURCE_PAGE;  
158 - break;  
159 - case 'news':  
160 - $source = RouteMap::SOURCE_NEWS;  
161 - break;  
162 - case 'blog':  
163 - $source = RouteMap::SOURCE_BLOG;  
164 - break;  
165 - case 'post':  
166 - $source = RouteMap::SOURCE_PRODUCT;  
167 - break;  
168 - default:  
169 - $source = RouteMap::SOURCE_MODULE;  
170 - break;  
171 - } 150 + foreach ($update_log_list as $update_log) {
  151 + switch ($update_log->api_type) {
  152 + case 'page':
  153 + $source = RouteMap::SOURCE_PAGE;
  154 + break;
  155 + case 'news':
  156 + $source = RouteMap::SOURCE_NEWS;
  157 + break;
  158 + case 'blog':
  159 + $source = RouteMap::SOURCE_BLOG;
  160 + break;
  161 + case 'post':
  162 + $source = RouteMap::SOURCE_PRODUCT;
  163 + break;
  164 + default:
  165 + $source = RouteMap::SOURCE_MODULE;
  166 + break;
  167 + }
172 168
173 - $complete = false;  
174 - //设置数据库  
175 - $project = ProjectServer::useProject($update_log->project_id);  
176 - if ($project) {  
177 - $collect_list = CollectTask::select(['id', 'project_id'])->where('project_id', $update_log['project_id'])->where('source', $source)->where('language', '')->where('status', CollectTask::STATUS_UN)->orderBy('id', 'asc')->limit(50)->get(); 169 + $complete = false;
  170 + //设置数据库
  171 + $project = ProjectServer::useProject($update_log->project_id);
  172 + if ($project) {
  173 + $collect_list = CollectTask::select(['id', 'project_id'])->where('project_id', $update_log['project_id'])->where('source', $source)->where('language', '')->where('status', CollectTask::STATUS_UN)->orderBy('id', 'asc')->limit(100)->get();
178 174
179 - if ($collect_list->count() == 0) {  
180 - $complete = true;  
181 - } else {  
182 - foreach ($collect_list as $collect) {  
183 - Redis::lpush($key, $collect['project_id'] . '_' . $collect['id']); 175 + if ($collect_list->count() == 0) {
  176 + $complete = true;
  177 + } else {
  178 + foreach ($collect_list as $collect) {
  179 + Redis::lpush($key, $collect['project_id'] . '_' . $collect['id']);
  180 + }
184 } 181 }
185 } 182 }
186 - }  
187 - //关闭数据库  
188 - DB::disconnect('custom_mysql'); 183 + //关闭数据库
  184 + DB::disconnect('custom_mysql');
189 185
190 - if ($complete) {  
191 - $update_log->collect_status = UpdateLog::COLLECT_STATUS_MAIN;  
192 - $update_log->save();  
193 - return 0; 186 + if ($complete) {
  187 + $update_log->collect_status = UpdateLog::COLLECT_STATUS_MAIN;
  188 + $update_log->save();
  189 + }
194 } 190 }
195 191
196 $task_id = Redis::rpop($key); 192 $task_id = Redis::rpop($key);