Browse Source

Impove jobs error handling

兔姬桑 4 years ago
parent
commit
c6ccd0679d

+ 3 - 3
app/Components/IP.php

@@ -41,7 +41,7 @@ class IP
             return $response->json();
         }
 
-        Log::error('解析IPv6异常:'.$ip);
+        Log::warning('解析IPv6异常:'.$ip);
 
         return false;
     }
@@ -121,7 +121,7 @@ class IP
                 ];
             }
 
-            Log::error('【淘宝IP库】返回错误信息:'.$ip.PHP_EOL.$message['msg']);
+            Log::warning('【淘宝IP库】返回错误信息:'.$ip.PHP_EOL.$message['msg']);
         } else {
             Log::error('【淘宝IP库】解析异常:'.$ip);
         }
@@ -151,7 +151,7 @@ class IP
                 ];
             }
 
-            Log::error('【百度IP库】返回错误信息:'.$ip.PHP_EOL.var_export($message['message'], true));
+            Log::warning('【百度IP库】返回错误信息:'.$ip.PHP_EOL.var_export($message['message'], true));
         } else {
             Log::error('【百度IP库】解析异常:'.$ip);
         }

+ 1 - 1
app/Console/Commands/DailyJob.php

@@ -145,7 +145,7 @@ class DailyJob extends Command
                 Helpers::addUserTrafficModifyLog($order->user_id, $order->id, $oldData, $user->transfer_enable, '【流量重置】重置可用流量');
                 Log::info('用户[ID:'.$user->id.'  昵称: '.$user->username.'  邮箱: '.$user->email.'] 流量重置为 '.flowAutoShow($user->transfer_enable).'. 重置日期为 '.($user->reset_time ?: '【无】'));
             } else {
-                Log::error('用户[ID:'.$user->id.'  昵称: '.$user->username.'  邮箱: '.$user->email.'] 流量重置失败');
+                Log::warning('用户[ID:'.$user->id.'  昵称: '.$user->username.'  邮箱: '.$user->email.'] 流量重置失败');
             }
         }
     }

+ 1 - 1
app/Http/Controllers/Gateway/BitpayX.php

@@ -35,7 +35,7 @@ class BitpayX extends AbstractPayment
             return Response::json(['status' => 'success', 'url' => $result['payment_url'], 'message' => '创建订单成功!']);
         }
 
-        Log::error('创建订单错误:'.var_export($result, true));
+        Log::warning('创建订单错误:'.var_export($result, true));
 
         return Response::json(['status' => 'fail', 'message' => '创建订单失败!'.$result['error']]);
     }

+ 1 - 1
app/Http/Controllers/Gateway/PayPal.php

@@ -104,7 +104,7 @@ class PayPal extends AbstractPayment
                 Log::info("Order $payment->order_id has been paid successfully!");
                 $payment->order->update(['status' => 1]);
             } else {
-                Log::error("Error processing PayPal payment for Order $payment->id!");
+                Log::warning("Error processing PayPal payment for Order $payment->id!");
             }
         }
 

+ 1 - 1
app/Http/Controllers/PaymentController.php

@@ -61,7 +61,7 @@ class PaymentController extends Controller
             case 'stripe':
                 return new Stripe();
             default:
-                Log::error('未知支付:'.self::$method);
+                Log::warning('未知支付:'.self::$method);
 
                 return false;
         }

+ 1 - 1
app/Http/Middleware/isForbidden.php

@@ -69,7 +69,7 @@ class isForbidden
                     }
                     break;
                 default:
-                    Log::error('未知禁止访问模式!请在系统设置中修改【禁止访问模式】!');
+                    Log::warning('未知禁止访问模式!请在系统设置中修改【禁止访问模式】!');
                     break;
             }
         }

+ 19 - 2
app/Jobs/VNet/addUser.php

@@ -3,12 +3,15 @@
 namespace App\Jobs\VNet;
 
 use App\Models\User;
+use Arr;
 use Http;
 use Illuminate\Bus\Queueable;
 use Illuminate\Contracts\Queue\ShouldQueue;
 use Illuminate\Foundation\Bus\Dispatchable;
 use Illuminate\Queue\InteractsWithQueue;
 use Illuminate\Queue\SerializesModels;
+use Log;
+use Throwable;
 
 class addUser implements ShouldQueue
 {
@@ -46,8 +49,22 @@ class addUser implements ShouldQueue
 
     private function send($host, $secret): void
     {
-        $client = Http::baseUrl($host)->timeout(15)->withHeaders(['secret' => $secret]);
+        $request = Http::baseUrl($host)->timeout(15)->withHeaders(['secret' => $secret]);
 
-        $client->post('api/v2/user/add/list', $this->data);
+        $response = $request->post('api/v2/user/add/list', $this->data);
+        $message = $response->json();
+        if ($message && Arr::has($message, ['success', 'content']) && $response->ok()) {
+            if ($message['success'] === 'false') {
+                Log::warning("【新增用户】推送失败(推送地址:".$host.",返回内容:".$message['content'].")");
+            } else {
+                Log::info("【新增用户】推送成功(推送地址:".$host.",内容:".json_encode($this->data, true).")");
+            }
+        }
+    }
+
+    // 队列失败处理
+    public function failed(Throwable $exception)
+    {
+        Log::error("【新增用户】推送异常:".$exception->getMessage());
     }
 }

+ 21 - 3
app/Jobs/VNet/delUser.php

@@ -2,12 +2,15 @@
 
 namespace App\Jobs\VNet;
 
+use Arr;
 use Http;
 use Illuminate\Bus\Queueable;
 use Illuminate\Contracts\Queue\ShouldQueue;
 use Illuminate\Foundation\Bus\Dispatchable;
 use Illuminate\Queue\InteractsWithQueue;
 use Illuminate\Queue\SerializesModels;
+use Log;
+use Throwable;
 
 class delUser implements ShouldQueue
 {
@@ -34,12 +37,27 @@ class delUser implements ShouldQueue
 
     private function send($host, $secret): void
     {
-        $client = Http::baseUrl($host)->timeout(15)->withHeaders(['secret' => $secret]);
+        $request = Http::baseUrl($host)->timeout(15)->withHeaders(['secret' => $secret]);
 
         if (is_array($this->userIds)) {
-            $client->post('api/v2/user/del/list', $this->userIds);
+            $response = $request->post('api/v2/user/del/list', $this->userIds);
         } else {
-            $client->post('api/user/del/'.$this->userIds);
+            $response = $request->post('api/user/del/'.$this->userIds);
         }
+
+        $message = $response->json();
+        if ($message && Arr::has($message, ['success', 'content']) && $response->ok()) {
+            if ($message['success'] === 'false') {
+                Log::warning("【删除用户】推送失败(推送地址:".$host.",返回内容:".$message['content'].")");
+            } else {
+                Log::info("【删除用户】推送成功(推送地址:".$host.",内容:".json_encode($this->userIds, true).")");
+            }
+        }
+    }
+
+    // 队列失败处理
+    public function failed(Throwable $exception)
+    {
+        Log::error("【删除用户】推送异常:".$exception->getMessage());
     }
 }

+ 19 - 2
app/Jobs/VNet/editUser.php

@@ -3,12 +3,15 @@
 namespace App\Jobs\VNet;
 
 use App\Models\User;
+use Arr;
 use Http;
 use Illuminate\Bus\Queueable;
 use Illuminate\Contracts\Queue\ShouldQueue;
 use Illuminate\Foundation\Bus\Dispatchable;
 use Illuminate\Queue\InteractsWithQueue;
 use Illuminate\Queue\SerializesModels;
+use Log;
+use Throwable;
 
 class editUser implements ShouldQueue
 {
@@ -41,8 +44,22 @@ class editUser implements ShouldQueue
 
     private function send($host, $secret): void
     {
-        $client = Http::baseUrl($host)->timeout(15)->withHeaders(['secret' => $secret]);
+        $request = Http::baseUrl($host)->timeout(15)->withHeaders(['secret' => $secret]);
 
-        $client->post('api/user/edit', $this->data);
+        $response = $request->post('api/user/edit', $this->data);
+        $message = $response->json();
+        if ($message && Arr::has($message, ['success', 'content']) && $response->ok()) {
+            if ($message['success'] === 'false') {
+                Log::warning("【编辑用户】推送失败(推送地址:".$host.",返回内容:".$message['content'].")");
+            } else {
+                Log::info("【编辑用户】推送成功(推送地址:".$host.",内容:".json_encode($this->data, true).")");
+            }
+        }
+    }
+
+    // 队列失败处理
+    public function failed(Throwable $exception)
+    {
+        Log::warning("【编辑用户】推送异常:".$exception->getMessage());
     }
 }

+ 22 - 14
app/Jobs/VNet/reloadNode.php

@@ -10,6 +10,7 @@ use Illuminate\Foundation\Bus\Dispatchable;
 use Illuminate\Queue\InteractsWithQueue;
 use Illuminate\Queue\SerializesModels;
 use Log;
+use Throwable;
 
 class reloadNode implements ShouldQueue
 {
@@ -41,10 +42,10 @@ class reloadNode implements ShouldQueue
                 'push_port'      => $node->push_port,
                 'single'         => $node->single,
                 'secret'         => $node->auth->secret,
-                //			'is_udp'         => $node->is_udp,
-                //			'speed_limit'    => $node->speed_limit,
-                //			'client_limit'   => $node->client_limit,
-                //			'redirect_url'   => (string) sysConfig('redirect_url')
+                'is_udp'         => $node->is_udp,
+                'speed_limit'    => $node->getRawOriginal('speed_limit'),
+                'client_limit'   => $node->client_limit,
+                'redirect_url'   => (string) sysConfig('redirect_url'),
             ]);
 
             if (! $ret) {
@@ -57,20 +58,27 @@ class reloadNode implements ShouldQueue
 
     public function send($host, $secret, $data): bool
     {
-        $client = Http::baseUrl($host)->timeout(15)->withHeaders(['secret' => $secret]);
+        $request = Http::baseUrl($host)->timeout(15)->withHeaders(['secret' => $secret]);
 
-        $response = $client->post('api/v2/node/reload', $data);
-        if ($response->ok()) {
-            $message = $response->json();
-            if (Arr::has($message, ['success', 'content'])) {
-                if ($message['success']) {
-                    return true;
-                }
-                Log::error('重载节点失败:'.$host.' 反馈:'.$message['content']);
+        $response = $request->post('api/v2/node/reload', $data);
+        $message = $response->json();
+        if ($message && Arr::has($message, ['success', 'content']) && $response->ok()) {
+            if ($message['success'] === 'false') {
+                Log::warning('【重载节点】失败:'.$host.' 反馈:'.$message['content']);
+                return false;
             }
+
+            Log::info('【重载节点】成功:'.$host.' 反馈:'.$message['content']);
+            return true;
         }
-        Log::error('重载节点失败url: '.$host);
+        Log::warning('【重载节点】失败:'.$host);
 
         return false;
     }
+
+    // 队列失败处理
+    public function failed(Throwable $exception)
+    {
+        Log::error("【重载节点】推送异常:".$exception);
+    }
 }

+ 1 - 1
app/Observers/NodeObserver.php

@@ -27,7 +27,7 @@ class NodeObserver
         $auth->key = Str::random();
         $auth->secret = Str::random(8);
         if (! $auth->save()) {
-            Log::error('节点生成-自动生成授权时出现错误,请稍后自行生成授权!');
+            Log::warning('节点生成-自动生成授权时出现错误,请稍后自行生成授权!');
         }
 
         if ($node->is_ddns == 0 && $node->server && sysConfig('ddns_mode')) {

+ 1 - 1
app/Services/OrderService.php

@@ -53,7 +53,7 @@ class OrderService
                 $this->setCommissionExpense(self::$user); // 返利
                 break;
             default:
-                Log::error('【处理订单】出现错误-未知套餐类型');
+                Log::warning('【处理订单】出现错误-未知套餐类型');
         }
 
         return true;