try batch inserts

This commit is contained in:
Kenneth Kehl
2025-01-10 07:58:24 -08:00
parent 4293da640a
commit 874c8ffb54
4 changed files with 36 additions and 5 deletions

View File

@@ -2,6 +2,7 @@ import json
from datetime import timedelta
from time import time
import sqlalchemy
from flask import current_app
from sqlalchemy import (
TIMESTAMP,
@@ -799,3 +800,12 @@ def dao_close_out_delivery_receipts():
current_app.logger.info(
f"Marked {result.rowcount} notifications as technical failures"
)
def dao_batch_insert_notifications(batch):
try:
db.session.bulk_save_objects(Notification(**msg) for msg in batch)
db.session.commit()
return len(batch)
except sqlalchemy.exc.SQLAlchemyError as e:
current_app.logger.exception(f"Error during batch insert {e}")