|
@@ -43,43 +43,50 @@ class RankData extends BaseCommands |
|
@@ -43,43 +43,50 @@ class RankData extends BaseCommands |
|
43
|
*/
|
43
|
*/
|
|
44
|
public function do()
|
44
|
public function do()
|
|
45
|
{
|
45
|
{
|
|
46
|
- Log::channel('rank_data')->info('开始-排名数据');
|
|
|
|
47
|
- //同步api_no
|
|
|
|
48
|
try {
|
46
|
try {
|
|
49
|
- $this->SyncApiNo();
|
|
|
|
50
|
- }catch (\Exception $e){
|
|
|
|
51
|
- Log::channel('rank_data')->error('同步api_no失败:' . $e->getMessage());
|
|
|
|
52
|
- }
|
|
|
|
53
|
-
|
|
|
|
54
|
|
47
|
|
|
55
|
- //所有项目 今日是否达标 重置
|
|
|
|
56
|
- //有失败会重跑任务,导致达标又被重置 加缓存一天只重置一次
|
|
|
|
57
|
- if(!Cache::get('clear_remain_today_'.date('Y-m-d'))){
|
|
|
|
58
|
- Project::where('is_remain_today', 1)->update(['is_remain_today' => 0]);
|
|
|
|
59
|
- Cache::set('clear_remain_today_'.date('Y-m-d'), 1, 24 * 3600);
|
|
|
|
60
|
- }
|
|
|
|
61
|
|
48
|
|
|
62
|
- $error = 0;
|
|
|
|
63
|
- $api = new QuanqiusouApi();
|
|
|
|
64
|
- //有排名api编号的项目
|
|
|
|
65
|
- $list = DeployOptimize::where('api_no', '>' , 0)->select('api_no','minor_languages','project_id')->get();
|
|
|
|
66
|
- Log::channel('rank_data')->info('开始-排名数据-'.count($list));
|
|
|
|
67
|
- //当日所有站点谷歌收录数据
|
|
|
|
68
|
- $site_res = $api->getSiteRes();
|
|
|
|
69
|
- if(!$site_res){
|
|
|
|
70
|
- return false;
|
|
|
|
71
|
- }
|
|
|
|
72
|
- foreach ($list as $item){
|
|
|
|
73
|
- echo $item['api_no'] . PHP_EOL;
|
49
|
+ Log::channel('rank_data')->info('开始-排名数据');
|
|
|
|
50
|
+ //同步api_no
|
|
74
|
try {
|
51
|
try {
|
|
75
|
- (new RankDataLogic())->syncRankData($item['api_no'], $site_res);
|
|
|
|
76
|
- }catch (\Exception $e){
|
|
|
|
77
|
- Log::channel('rank_data')->error('RankData:失败 ' . $item['api_no'] . $e->getMessage());
|
|
|
|
78
|
- $error++;
|
|
|
|
79
|
- continue;
|
52
|
+ $this->SyncApiNo();
|
|
|
|
53
|
+ } catch (\Exception $e) {
|
|
|
|
54
|
+ Log::channel('rank_data')->error('同步api_no失败:' . $e->getMessage());
|
|
80
|
}
|
55
|
}
|
|
|
|
56
|
+
|
|
|
|
57
|
+
|
|
|
|
58
|
+ //所有项目 今日是否达标 重置
|
|
|
|
59
|
+ //有失败会重跑任务,导致达标又被重置 加缓存一天只重置一次
|
|
|
|
60
|
+ if (!Cache::get('clear_remain_today_' . date('Y-m-d'))) {
|
|
|
|
61
|
+ Project::where('is_remain_today', 1)->update(['is_remain_today' => 0]);
|
|
|
|
62
|
+ Cache::set('clear_remain_today_' . date('Y-m-d'), 1, 24 * 3600);
|
|
|
|
63
|
+ }
|
|
|
|
64
|
+
|
|
|
|
65
|
+ $error = 0;
|
|
|
|
66
|
+ $api = new QuanqiusouApi();
|
|
|
|
67
|
+ //有排名api编号的项目
|
|
|
|
68
|
+ $list = DeployOptimize::where('api_no', '>', 0)->select('api_no', 'minor_languages', 'project_id')->get();
|
|
|
|
69
|
+ Log::channel('rank_data')->info('开始-排名数据-' . count($list));
|
|
|
|
70
|
+ //当日所有站点谷歌收录数据
|
|
|
|
71
|
+ $site_res = $api->getSiteRes();
|
|
|
|
72
|
+ if (!$site_res) {
|
|
|
|
73
|
+ return false;
|
|
|
|
74
|
+ }
|
|
|
|
75
|
+ foreach ($list as $item) {
|
|
|
|
76
|
+ echo $item['api_no'] . PHP_EOL;
|
|
|
|
77
|
+ try {
|
|
|
|
78
|
+ (new RankDataLogic())->syncRankData($item['api_no'], $site_res);
|
|
|
|
79
|
+ } catch (\Exception $e) {
|
|
|
|
80
|
+ Log::channel('rank_data')->error('RankData:失败 ' . $item['api_no'] . $e->getMessage());
|
|
|
|
81
|
+ $error++;
|
|
|
|
82
|
+ continue;
|
|
|
|
83
|
+ }
|
|
|
|
84
|
+ }
|
|
|
|
85
|
+ return !$error;
|
|
|
|
86
|
+ } catch (\Exception $e) {
|
|
|
|
87
|
+ Log::channel('rank_data')->error('排名数据任务失败 ' . $e->getMessage());
|
|
|
|
88
|
+ throw new \Exception($e->getMessage());
|
|
81
|
}
|
89
|
}
|
|
82
|
- return !$error;
|
|
|
|
83
|
}
|
90
|
}
|
|
84
|
|
91
|
|
|
85
|
/**
|
92
|
/**
|
|
@@ -98,16 +105,17 @@ class RankData extends BaseCommands |
|
@@ -98,16 +105,17 @@ class RankData extends BaseCommands |
|
98
|
|
105
|
|
|
99
|
$api = new QuanqiusouApi();
|
106
|
$api = new QuanqiusouApi();
|
|
100
|
$ai_nos = $api->getWebApiNo();
|
107
|
$ai_nos = $api->getWebApiNo();
|
|
101
|
-
|
|
|
|
102
|
- foreach ($deploy_optimizes as $deploy_optimize){
|
|
|
|
103
|
- $domain = DomainInfo::where('id', $deploy_optimize['domain'])->value('domain');
|
|
|
|
104
|
- if(!$domain){
|
|
|
|
105
|
- continue;
|
|
|
|
106
|
- }
|
|
|
|
107
|
- $api_no = array_search($domain, $ai_nos);
|
|
|
|
108
|
- if($api_no){
|
|
|
|
109
|
- $deploy_optimize->api_no = $api_no;
|
|
|
|
110
|
- $deploy_optimize->save();
|
108
|
+ if($ai_nos){
|
|
|
|
109
|
+ foreach ($deploy_optimizes as $deploy_optimize){
|
|
|
|
110
|
+ $domain = DomainInfo::where('id', $deploy_optimize['domain'])->value('domain');
|
|
|
|
111
|
+ if(!$domain){
|
|
|
|
112
|
+ continue;
|
|
|
|
113
|
+ }
|
|
|
|
114
|
+ $api_no = array_search($domain, $ai_nos);
|
|
|
|
115
|
+ if($api_no){
|
|
|
|
116
|
+ $deploy_optimize->api_no = $api_no;
|
|
|
|
117
|
+ $deploy_optimize->save();
|
|
|
|
118
|
+ }
|
|
111
|
}
|
119
|
}
|
|
112
|
}
|
120
|
}
|
|
113
|
}
|
121
|
}
|