From f8fbf9b5eb285f023faae13099479e2081618322 Mon Sep 17 00:00:00 2001 From: jxxghp Date: Fri, 7 Jun 2024 21:53:48 +0800 Subject: [PATCH] fix webpush --- app/api/endpoints/message.py | 14 +++++++------- app/modules/webpush/__init__.py | 2 +- 2 files changed, 8 insertions(+), 8 deletions(-) diff --git a/app/api/endpoints/message.py b/app/api/endpoints/message.py index 02de83e9..e7e2ff05 100644 --- a/app/api/endpoints/message.py +++ b/app/api/endpoints/message.py @@ -1,7 +1,7 @@ import json from typing import Union, Any, List -from fastapi import APIRouter, BackgroundTasks, Depends, HTTPException +from fastapi import APIRouter, BackgroundTasks, Depends from fastapi import Request from pywebpush import WebPushException, webpush from sqlalchemy.orm import Session @@ -174,8 +174,8 @@ def send_notification(payload: schemas.SubscriptionMessage, _: schemas.TokenPayl """ 发送webpush通知 """ - try: - for sub in global_vars.get_subscriptions(): + for sub in global_vars.get_subscriptions(): + try: webpush( subscription_info=sub, data=json.dumps(payload.dict()), @@ -184,7 +184,7 @@ def send_notification(payload: schemas.SubscriptionMessage, _: schemas.TokenPayl "sub": settings.VAPID.get("subject") }, ) - return schemas.Response(success=True) - except WebPushException as ex: - print("WebPush Error:", repr(ex)) - raise HTTPException(status_code=500, detail=str(ex)) + except WebPushException as err: + logger.error(f"WebPush发送失败: {str(err)}") + continue + return schemas.Response(success=True) diff --git a/app/modules/webpush/__init__.py b/app/modules/webpush/__init__.py index a0fafd6e..49f85d64 100644 --- a/app/modules/webpush/__init__.py +++ b/app/modules/webpush/__init__.py @@ -61,7 +61,7 @@ class WebPushModule(_ModuleBase): }, ) except WebPushException as err: - print("WebPush Error:", str(err)) + logger.error(f"WebPush发送失败: {str(err)}") except Exception as msg_e: logger.error(f"发送消息失败:{msg_e}")