Skip to content

VC/Zoom: Speed up registrant sync for large events - #349

Open
moliholy wants to merge 11 commits into
indico:masterfrom
moliholy:fix/vc-zoom-registrant-dedup-lookups
Open

moliholy wants to merge 11 commits into
indico:masterfrom
moliholy:fix/vc-zoom-registrant-dedup-lookups

Conversation

@moliholy

@moliholy moliholy commented Oct 13, 2026 •

Copy link
Copy Markdown
Contributor

Enabling auto-registration on a Zoom room, and syncing a single registration, resolved every registrant of the event against the Zoom API inside the request. On events with hundreds of registrants outside the Zoom account this meant hundreds of API calls per request, and the request timed out.

This PR:

  • Stops resolving every other registrant against Zoom when syncing a single registration; duplicates are now detected from the registration email and from the users who own that email or the registrant's Zoom account.
  • Moves the initial backfill (room creation, enabling auto-registration, selecting more registration forms) to a Celery task launched after commit when it covers 5 or more registrants, and tells managers it runs in the background. Smaller backfills, and every backfill in DEBUG mode, still run within the request.
  • Stops a running background backfill before its next batch once auto-registration is disabled on the room or the room is deleted.

Comment thread vc_zoom/README.md Outdated
Comment thread vc_zoom/indico_vc_zoom/plugin.py Outdated
Comment thread vc_zoom/indico_vc_zoom/plugin.py Outdated
if registration.state == RegistrationState.complete)
return registrations

def _schedule_backfill(self, vc_room, registrations):

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

How badly will things break if you enable autoreg (ie the task is triggered) and then disable it again, before that task finished? :)

@moliholy moliholy Oct 13, 2026 •

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

They'd overlap. To mitigate that, I was thinking of adding a check that verifies that auto_registration is on before onboarding more users (in every 30-user batch I mean). What do you think?

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I took the liberty of doing so in f030dc1. Anyway it doesn't hurt.

@moliholy
moliholy force-pushed the fix/vc-zoom-registrant-dedup-lookups branch from 88c2063 to 3b83ca7 Compare October 16, 2026 10:28

This branch has not been deployed

No deployments
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants