EmergencyRelieve.php 1.0 KB
<?php

namespace App\Console\Commands\Domain;

use App\Models\Project\Project;
use App\Models\Project\ProjectServerBackup;
use Illuminate\Console\Command;

class EmergencyRelieve extends Command
{
    protected $signature = 'emergency_relieve';
    protected $description = '危机解除,恢复项目服务器';

    public function handle()
    {
        $backup_list = ProjectServerBackup::where('status', ProjectServerBackup::STATUS_NO)->get();

        $project_model = new Project();
        if ($backup_list->count() > 0) {
            foreach ($backup_list as $item) {
                $project_model->edit(['serve_id' => $item->serve_id], ['id' => $item->project_id]);
                $item->status = ProjectServerBackup::STATUS_YES;
                $item->save();

                $this->output('项目ID:' . $item->project_id . ',恢复成功');
            }
        }
    }

    /**
     * 输出处理日志
     * @param $message
     */
    public function output($message)
    {
        echo date('Y-m-d H:i:s') . ' | ' . $message . PHP_EOL;
    }
}