作者 赵彬吉

update

@@ -46,7 +46,6 @@ class DevopsTask extends Command @@ -46,7 +46,6 @@ class DevopsTask extends Command
46 */ 46 */
47 public function handle() 47 public function handle()
48 { 48 {
49 - while (true){  
50 $tasks = DevopsTaskModel::where('status', DevopsTaskModel::STATUS_PENDING)->get(); 49 $tasks = DevopsTaskModel::where('status', DevopsTaskModel::STATUS_PENDING)->get();
51 foreach ($tasks as $task){ 50 foreach ($tasks as $task){
52 echo "Start task " . $task->id; 51 echo "Start task " . $task->id;
@@ -55,14 +54,12 @@ class DevopsTask extends Command @@ -55,14 +54,12 @@ class DevopsTask extends Command
55 } 54 }
56 echo "End task " . $task->id . PHP_EOL; 55 echo "End task " . $task->id . PHP_EOL;
57 } 56 }
58 - sleep(10);  
59 - }  
60 } 57 }
61 58
62 public function updateTable($task){ 59 public function updateTable($task){
63 $projects = Project::all(); 60 $projects = Project::all();
64 foreach ($projects as $project){ 61 foreach ($projects as $project){
65 - echo "project " . $project->id . PHP_EOL; 62 + echo "project " . $project->id;
66 $log = DevopsTaskLog::addLog($task->id, $project->id); 63 $log = DevopsTaskLog::addLog($task->id, $project->id);
67 if($log->status == DevopsTaskModel::STATUS_ACTIVE){ 64 if($log->status == DevopsTaskModel::STATUS_ACTIVE){
68 echo 'continue' . PHP_EOL; 65 echo 'continue' . PHP_EOL;
@@ -11,7 +11,9 @@ use App\Models\Project\Project; @@ -11,7 +11,9 @@ use App\Models\Project\Project;
11 use App\Models\Devops\ServerConfig; 11 use App\Models\Devops\ServerConfig;
12 use App\Services\ProjectServer; 12 use App\Services\ProjectServer;
13 use App\Utils\EncryptUtils; 13 use App\Utils\EncryptUtils;
  14 +use Illuminate\Support\Facades\Artisan;
14 use Illuminate\Support\Facades\DB; 15 use Illuminate\Support\Facades\DB;
  16 +use Symfony\Component\Process\Process;
15 17
16 /** 18 /**
17 * Class ServerConfigLogic 19 * Class ServerConfigLogic
@@ -174,6 +176,9 @@ class ServerConfigLogic extends BaseLogic @@ -174,6 +176,9 @@ class ServerConfigLogic extends BaseLogic
174 */ 176 */
175 public function updateAllTable($param){ 177 public function updateAllTable($param){
176 DevopsTask::addTask($param['sql']); 178 DevopsTask::addTask($param['sql']);
  179 + //执行命令行
  180 + $process = new Process(['php', 'artisan', 'devops_task']);
  181 + $process->start();
177 return $this->success(); 182 return $this->success();
178 } 183 }
179 } 184 }