[perf] check duplicat accept respond
All checks were successful
ci/woodpecker/push/lint Pipeline was successful
ci/woodpecker/push/test Pipeline was successful

This commit is contained in:
SouthFox 2023-07-31 05:55:08 +08:00
parent f9f398a207
commit 849f8de6f9

View file

@ -166,9 +166,15 @@ async def process_incoming(
).unique().scalar_one_or_none()
if "Accept" == ap_object["type"]:
try:
inbox_object = build_object(ap_object)
db_session.add(inbox_object)
await db_session.flush()
except IntegrityError:
logger.warning("Duplicate accept respond?")
await db_session.rollback()
return True
await db_session.refresh(inbox_object)
following = models.Following(