Updates to delete missing subscriptions
This commit is contained in:
20
app.py
20
app.py
@@ -150,11 +150,27 @@ class WebPushService():
|
|||||||
vapid_private_key=vapid_key.private_key,
|
vapid_private_key=vapid_key.private_key,
|
||||||
vapid_claims={"sub": CONTACT_EMAIL}
|
vapid_claims={"sub": CONTACT_EMAIL}
|
||||||
)
|
)
|
||||||
|
time.sleep(1)
|
||||||
return True
|
return True
|
||||||
|
|
||||||
except WebPushException as ex:
|
except WebPushException as ex:
|
||||||
print(f"Failed to send push notification for {subscription_info['endpoint']} -- {ex}")
|
now = datetime.datetime.now().isoformat()
|
||||||
return False
|
endpoint = subscription_info['endpoint']
|
||||||
|
print(f"{now}: Failed to send push notification for {endpoint} -- {ex}")
|
||||||
|
|
||||||
|
unsubscribed_msg = '410 Gone'
|
||||||
|
if unsubscribed_msg in ex.args[0]:
|
||||||
|
subscription = Subscription.query.filter_by(endpoint=endpoint).first()
|
||||||
|
|
||||||
|
# Delete the subscription if found
|
||||||
|
if subscription:
|
||||||
|
db.session.delete(subscription)
|
||||||
|
db.session.commit()
|
||||||
|
print(f"Committed delete of {subscription_info}")
|
||||||
|
else:
|
||||||
|
print(f"Could not find subscription at: {endpoint}")
|
||||||
|
else:
|
||||||
|
print("Wrong error.", ex.args[0])
|
||||||
|
|
||||||
|
|
||||||
def _send_daily_notifications(self) -> None:
|
def _send_daily_notifications(self) -> None:
|
||||||
|
|||||||
Reference in New Issue
Block a user