Merge branch 'master' of http://47.244.231.31:8099/zhl/globalso-v6 into develop
正在显示
1 个修改的文件
包含
41 行增加
和
4 行删除
| @@ -7,7 +7,9 @@ use App\Exceptions\InquiryFilterException; | @@ -7,7 +7,9 @@ use App\Exceptions\InquiryFilterException; | ||
| 7 | use App\Services\SyncSubmitTaskService; | 7 | use App\Services\SyncSubmitTaskService; |
| 8 | use Illuminate\Console\Command; | 8 | use Illuminate\Console\Command; |
| 9 | use App\Models\SyncSubmitTask\SyncSubmitTask as SyncSubmitTaskModel; | 9 | use App\Models\SyncSubmitTask\SyncSubmitTask as SyncSubmitTaskModel; |
| 10 | +use Illuminate\Support\Facades\DB; | ||
| 10 | use Illuminate\Support\Facades\Redis; | 11 | use Illuminate\Support\Facades\Redis; |
| 12 | +use Illuminate\Support\Facades\Schema; | ||
| 11 | use Illuminate\Support\Str; | 13 | use Illuminate\Support\Str; |
| 12 | 14 | ||
| 13 | /** | 15 | /** |
| @@ -25,9 +27,17 @@ class SyncSubmitTask extends Command | @@ -25,9 +27,17 @@ class SyncSubmitTask extends Command | ||
| 25 | 27 | ||
| 26 | public function handle() | 28 | public function handle() |
| 27 | { | 29 | { |
| 30 | + $backup = false; | ||
| 28 | while (true) { | 31 | while (true) { |
| 29 | $task_id = $this->getTaskId(); | 32 | $task_id = $this->getTaskId(); |
| 33 | + if ($task_id > 2000000) { | ||
| 34 | + $backup = true; | ||
| 35 | + } | ||
| 30 | if (empty($task_id)) { | 36 | if (empty($task_id)) { |
| 37 | + if ($backup) { | ||
| 38 | + $this->backup(); | ||
| 39 | + $backup = false; | ||
| 40 | + } | ||
| 31 | sleep(5); | 41 | sleep(5); |
| 32 | continue; | 42 | continue; |
| 33 | } | 43 | } |
| @@ -43,7 +53,7 @@ class SyncSubmitTask extends Command | @@ -43,7 +53,7 @@ class SyncSubmitTask extends Command | ||
| 43 | $task_info->save(); | 53 | $task_info->save(); |
| 44 | 54 | ||
| 45 | $this->output('任务完成'); | 55 | $this->output('任务完成'); |
| 46 | - } catch (InquiryFilterException $e){ | 56 | + } catch (InquiryFilterException $e) { |
| 47 | $task_info->status = 1; | 57 | $task_info->status = 1; |
| 48 | $task_info->is_filtered = 1; | 58 | $task_info->is_filtered = 1; |
| 49 | $task_info->remark = $e->getMessage(); | 59 | $task_info->remark = $e->getMessage(); |
| @@ -65,11 +75,12 @@ class SyncSubmitTask extends Command | @@ -65,11 +75,12 @@ class SyncSubmitTask extends Command | ||
| 65 | } | 75 | } |
| 66 | } | 76 | } |
| 67 | 77 | ||
| 68 | - public function getTaskId(){ | 78 | + public function getTaskId() |
| 79 | + { | ||
| 69 | $task_id = Redis::rpop('sync_submit_task'); | 80 | $task_id = Redis::rpop('sync_submit_task'); |
| 70 | if (empty($task_id)) { | 81 | if (empty($task_id)) { |
| 71 | - $ids = SyncSubmitTaskModel::where('status', 0)->pluck('id'); | ||
| 72 | - foreach($ids as $id){ | 82 | + $ids = SyncSubmitTaskModel::where('status', 0)->limit(100)->pluck('id'); |
| 83 | + foreach ($ids as $id) { | ||
| 73 | Redis::lpush('sync_submit_task', $id); | 84 | Redis::lpush('sync_submit_task', $id); |
| 74 | } | 85 | } |
| 75 | $task_id = Redis::rpop('sync_submit_task'); | 86 | $task_id = Redis::rpop('sync_submit_task'); |
| @@ -86,4 +97,30 @@ class SyncSubmitTask extends Command | @@ -86,4 +97,30 @@ class SyncSubmitTask extends Command | ||
| 86 | return true; | 97 | return true; |
| 87 | } | 98 | } |
| 88 | 99 | ||
| 100 | + /** | ||
| 101 | + * 备份数据 | ||
| 102 | + * @author zbj | ||
| 103 | + * @date 2024/1/23 | ||
| 104 | + */ | ||
| 105 | + public function backup() | ||
| 106 | + { | ||
| 107 | + DB::beginTransaction(); | ||
| 108 | + try { | ||
| 109 | + $table = (new SyncSubmitTaskModel())->getTable(); | ||
| 110 | + $new_table = $table . '_backup_' . date('Ymd'); | ||
| 111 | + | ||
| 112 | + //重命名当前表 | ||
| 113 | + Schema::rename($table, $new_table); | ||
| 114 | + //克隆表数据 | ||
| 115 | + DB::statement('CREATE TABLE ' . $table . ' LIKE ' . $new_table); | ||
| 116 | + | ||
| 117 | + DB::commit(); | ||
| 118 | + | ||
| 119 | + $this->output('数据备份成功'); | ||
| 120 | + } catch (\Exception $e) { | ||
| 121 | + $this->output('数据备份失败' . $e->getMessage()); | ||
| 122 | + DB::rollBack(); | ||
| 123 | + } | ||
| 124 | + return true; | ||
| 125 | + } | ||
| 89 | } | 126 | } |
-
请 注册 或 登录 后发表评论