作者 lyh

项目选择服务器

... ... @@ -9,6 +9,8 @@ namespace App\Console\Commands\Test;
use App\Models\Com\KeywordVideoTask;
use App\Models\Devops\Servers;
use App\Models\Devops\ServersIp;
use App\Models\File\File;
use App\Models\File\File as FileModel;
use App\Models\File\Image;
... ... @@ -41,24 +43,52 @@ class Demo extends Command
protected $description = 'demo';
// /**
// * Execute the job.
// *
// * @return void
// */
// public function handle()
// {
// $this->param['project_id'] = 181;
// $imageModel = new ImageModel();
// //获取当前项目的所有图片
// $imageList = $imageModel->list(['project_id'=>$this->param['project_id'],'is_cos'=>1],'id',['id','path','is_cos','size']);
// if(!empty($imageList)){
// $amazonS3Service = new AmazonS3Service();
// foreach ($imageList as $k => $v){
// $amazonS3Service->syncImageFiles(getImageUrl($v['path']));
// $imageModel->edit(['is_cos'=>0],['id'=>$v['id']]);
// }
// }
/**
* Execute the job.
*
* @return void
*/
public function handle()
{
$project_id = 1;
$servers_id = 1;
//查看當前項目服務器是否有更改
$projectModel = new Project();
$projectInfo = $projectModel->read(['id'=>$project_id],['serve_id']);
if(!empty($projectInfo['serve_id'])){
if($projectInfo['serve_id'] == $servers_id){
echo 2;
}
}
$serversIpModel = new ServersIp();
$serversIpInfo = $serversIpModel->read(['project_arr'=>['like','%,'.$project_id.',%']]);
if($serversIpInfo !== false){
$string = str_replace(','.$project_id.',',',',$serversIpInfo['project_arr']);
if($string == ','){
$string = '';
}
$serversIpModel->edit(['project_arr'=>$string],['id'=>$serversIpInfo['id']]);
}
$info = $serversIpModel->read(['id'=>$servers_id]);
$serversModel = new Servers();
$serversInfo = $serversModel->read(['id'=>$info['servers_id']]);
if($serversInfo['being_number'] >= $serversInfo['total']){
echo '请选择其他服务器,当前服务器已满';
}
$project_arr = explode(',',trim($info['project_arr'],','));
if(count($project_arr) >= $serversInfo['ip_total']){
echo '请选择其他服务器,当前ip已满';
}
@file_put_contents(storage_path('logs/lyh_error.log'), var_export($project_arr, true) . PHP_EOL, FILE_APPEND);
@file_put_contents(storage_path('logs/lyh_error.log'), var_export($project_id, true) . PHP_EOL, FILE_APPEND);
if(!in_array($project_id,$project_arr) || empty($project_arr)){
array_push($project_arr,$project_id);
$project_str = ','.implode(',',$project_arr).',';
$serversIpModel->edit(['project_arr'=>$project_str,'total'=>count($project_arr)],['id'=>$servers_id]);
$serversModel->where(['id'=>$info['servers_id']])->increment('being_number');
}
echo 1;
}
//
// $fileModel = new FileModel();
// $fileList = $fileModel->list(['project_id'=>$this->param['project_id'],'is_cos'=>1],'id',['id','path','is_cos','name']);
... ...