作者 lyh

项目选择服务器

@@ -16,6 +16,7 @@ use App\Models\File\File as FileModel; @@ -16,6 +16,7 @@ use App\Models\File\File as FileModel;
16 use App\Models\File\Image; 16 use App\Models\File\Image;
17 use App\Models\File\Image as ImageModel; 17 use App\Models\File\Image as ImageModel;
18 use App\Models\Product\Keyword; 18 use App\Models\Product\Keyword;
  19 +use App\Models\Product\Product;
19 use App\Models\Project\DeployOptimize; 20 use App\Models\Project\DeployOptimize;
20 use App\Models\Project\MinorLanguages; 21 use App\Models\Project\MinorLanguages;
21 use App\Models\Project\Project; 22 use App\Models\Project\Project;
@@ -42,83 +43,38 @@ class Demo extends Command @@ -42,83 +43,38 @@ class Demo extends Command
42 */ 43 */
43 protected $description = 'demo'; 44 protected $description = 'demo';
44 45
45 -  
46 - /**  
47 - * Execute the job.  
48 - *  
49 - * @return void  
50 - */  
51 - public function handle()  
52 - {  
53 - $project_id = 1;  
54 - $servers_id = 1;  
55 - //查看當前項目服務器是否有更改 46 + public function handle(){
  47 + $keywordVideoModel = new KeywordVideoTask();
  48 + $project_id_arr = $keywordVideoModel::where('id','>',0)->pluck('project_id')->toArray();
56 $projectModel = new Project(); 49 $projectModel = new Project();
57 - $projectInfo = $projectModel->read(['id'=>$project_id],['serve_id']);  
58 - if(!empty($projectInfo['serve_id'])){  
59 - if($projectInfo['serve_id'] == $servers_id){  
60 - echo 2;  
61 - } 50 + $list = $projectModel->list(['type'=>['!=',0],'delete_status'=>0,'id'=>['in',$project_id_arr]]);
  51 + $data = [];
  52 + foreach ($list as $v){
  53 + echo date('Y-m-d H:i:s') . 'project_id:'.$v['id'] . PHP_EOL;
  54 + ProjectServer::useProject($v['id']);
  55 + $this->getProductList();
  56 + DB::disconnect('custom_mysql');
62 } 57 }
63 - $serversIpModel = new ServersIp();  
64 - $serversIpInfo = $serversIpModel->read(['project_arr'=>['like','%,'.$project_id.',%']]);  
65 - if($serversIpInfo !== false){  
66 - $string = str_replace(','.$project_id.',',',',$serversIpInfo['project_arr']);  
67 - if($string == ','){  
68 - $string = ''; 58 + echo date('Y-m-d H:i:s') . 'end' . PHP_EOL;
  59 + }
  60 +
  61 + public function getProductList(){
  62 + $productModel = new Product();
  63 + $lists = $productModel::whereRaw('LENGTH(keyword_id) > 50')->get()->toArray();
  64 + foreach ($lists as $k => $v){
  65 + echo date('Y-m-d H:i:s') . '项目id:'.$v['project_id'].'+产品product_id:'.$v['id'] . PHP_EOL;
  66 + $str = ',';
  67 + foreach ($v['keyword_id'] as $key => $value){
  68 + if($key == 6){
  69 + break;
  70 + }
  71 + $str .= $value.',';
69 } 72 }
70 - $serversIpModel->edit(['project_arr'=>$string],['id'=>$serversIpInfo['id']]);  
71 - }  
72 - $info = $serversIpModel->read(['id'=>$servers_id]);  
73 - $serversModel = new Servers();  
74 - $serversInfo = $serversModel->read(['id'=>$info['servers_id']]);  
75 - if($serversInfo['being_number'] >= $serversInfo['total']){  
76 - echo '请选择其他服务器,当前服务器已满';  
77 - }  
78 - $project_arr = explode(',',trim($info['project_arr'],','));  
79 - if(count($project_arr) >= $serversInfo['ip_total']){  
80 - echo '请选择其他服务器,当前ip已满';  
81 - }  
82 - @file_put_contents(storage_path('logs/lyh_error.log'), var_export($project_arr, true) . PHP_EOL, FILE_APPEND);  
83 - @file_put_contents(storage_path('logs/lyh_error.log'), var_export($project_id, true) . PHP_EOL, FILE_APPEND);  
84 - if(!in_array($project_id,$project_arr) || empty($project_arr)){  
85 - array_push($project_arr,$project_id);  
86 - $project_str = ','.implode(',',$project_arr).',';  
87 - $serversIpModel->edit(['project_arr'=>$project_str,'total'=>count($project_arr)],['id'=>$servers_id]);  
88 - $serversModel->where(['id'=>$info['servers_id']])->increment('being_number'); 73 + $productModel->edit(['keyword_id'=>$str],['id'=>$v['id']]);
89 } 74 }
90 - echo 1; 75 + return true;
91 } 76 }
92 // 77 //
93 -// $fileModel = new FileModel();  
94 -// $fileList = $fileModel->list(['project_id'=>$this->param['project_id'],'is_cos'=>1],'id',['id','path','is_cos','name']);  
95 -// if(!empty($fileList)){  
96 -// $amazonS3Service = new AmazonS3Service();  
97 -// foreach ($fileList as $k => $v){  
98 -// echo date('Y-m-d H:i:s') . '执行的数据id:' . $v['id'] . '名称:'.$v['name'] . PHP_EOL;  
99 -// $amazonS3Service->syncImageFiles(getFileUrl($v['path']));  
100 -// $fileModel->edit(['is_cos'=>0],['id'=>$v['id']]);  
101 -// gc_collect_cycles();  
102 -// }  
103 -// }  
104 -// return true;  
105 -// }  
106 -  
107 -// public function handle(){  
108 -// $keywordVideoModel = new KeywordVideoTask();  
109 -// $project_id_arr = $keywordVideoModel::where('id','>',0)->pluck('project_id')->toArray();  
110 -// $projectModel = new Project();  
111 -// $list = $projectModel->list(['type'=>['!=',0],'delete_status'=>0,'id'=>['in',$project_id_arr]]);  
112 -// $data = [];  
113 -// foreach ($list as $v){  
114 -// echo date('Y-m-d H:i:s') . 'project_id:'.$v['id'] . PHP_EOL;  
115 -// ProjectServer::useProject($v['id']);  
116 -// $this->saveKeyword();  
117 -// DB::disconnect('custom_mysql');  
118 -// }  
119 -// echo date('Y-m-d H:i:s') . 'end' . PHP_EOL;  
120 -// }  
121 -//  
122 // /** 78 // /**
123 // * @remark :关键字有视频的改为1 79 // * @remark :关键字有视频的改为1
124 // * @name :getProductKeywordInfo 80 // * @name :getProductKeywordInfo