作者 赵彬吉

update

@@ -4,6 +4,7 @@ namespace App\Console\Commands; @@ -4,6 +4,7 @@ namespace App\Console\Commands;
4 4
5 5
6 use App\Exceptions\InquiryFilterException; 6 use App\Exceptions\InquiryFilterException;
  7 +use App\Models\Project\Project;
7 use App\Services\SyncSubmitTaskService; 8 use App\Services\SyncSubmitTaskService;
8 use Illuminate\Console\Command; 9 use Illuminate\Console\Command;
9 use App\Models\SyncSubmitTask\SyncSubmitTask as SyncSubmitTaskModel; 10 use App\Models\SyncSubmitTask\SyncSubmitTask as SyncSubmitTaskModel;
@@ -47,6 +48,8 @@ class SyncSubmitTask extends Command @@ -47,6 +48,8 @@ class SyncSubmitTask extends Command
47 $this->output('任务不存在或者已执行'); 48 $this->output('任务不存在或者已执行');
48 continue; 49 continue;
49 } 50 }
  51 + $project = Project::getProjectByDomain($task_info['data']['domain'] ?? '');
  52 + $task_info->project_id = $project->id;
50 try { 53 try {
51 SyncSubmitTaskService::handler($task_info); 54 SyncSubmitTaskService::handler($task_info);
52 $task_info->status = 1; 55 $task_info->status = 1;
@@ -311,15 +311,23 @@ class Project extends Base @@ -311,15 +311,23 @@ class Project extends Base
311 */ 311 */
312 public static function getProjectByDomain($domain) 312 public static function getProjectByDomain($domain)
313 { 313 {
314 - $domain_parse = parse_url($domain);  
315 - $domain = $domain_parse['host'] ?? $domain;  
316 - //是否测试域名  
317 - $project_id = DeployBuild::where('test_domain', 'https://' . $domain . '/')->value('project_id');  
318 - //是否正式域名  
319 - if (!$project_id) {  
320 - $project_id = \App\Models\Domain\DomainInfo::where('domain', $domain)->value('project_id'); 314 + $cache_key = 'getProjectByDomain_' . $domain;
  315 + $project = Cache::get($cache_key);
  316 + if(!$project){
  317 + $domain_parse = parse_url($domain);
  318 + $domain = $domain_parse['host'] ?? $domain;
  319 + //是否测试域名
  320 + $project_id = DeployBuild::where('test_domain', 'https://' . $domain . '/')->value('project_id');
  321 + //是否正式域名
  322 + if (!$project_id) {
  323 + $project_id = \App\Models\Domain\DomainInfo::where('domain', $domain)->value('project_id');
  324 + }
  325 + $project = self::find($project_id ?: 0);
  326 + if($project){
  327 + Cache::put($cache_key, $project, 3600);
  328 + }
321 } 329 }
322 - return self::find($project_id ?: 0); 330 + return $project;
323 } 331 }
324 332
325 /** 333 /**