From 01861f65eaf1eca1a8b8e53079112e98853d505c Mon Sep 17 00:00:00 2001 From: Mira Weller Date: Tue, 6 May 2025 17:15:52 +0200 Subject: [PATCH] Drop outstanding jobs for deactivated plugins --- src/pretix/base/datasync/datasync.py | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/src/pretix/base/datasync/datasync.py b/src/pretix/base/datasync/datasync.py index e414684ea9..0be3231f2c 100644 --- a/src/pretix/base/datasync/datasync.py +++ b/src/pretix/base/datasync/datasync.py @@ -72,7 +72,12 @@ def sync_all(): grouped = groupby(sorted(queue, key=lambda q: (q.sync_provider, q.order.event.pk)), lambda q: (q.sync_provider, q.order.event)) for (target, event), queued_orders in grouped: target_cls, meta = sync_targets.get(identifier=target, active_in=event) - # TODO: what should i do if the sync plugin got deactivated in the meantime? + + if not target_cls: + # sync plugin not found (plugin deactivated or uninstalled) -> drop outstanding jobs + for sq in queued_orders: + sq.delete() + sync_event_to_target(event, target_cls, queued_orders)