conference-cleanup
Cleanup service for the external and internal database to correct data dift.
Django-based synchronization service that keeps the external gateway database (gateway-backend)
in sync with the internal conference database (conference-backend). It is designed to resolve
data drift caused by service outages or other failures.
The service connects to the internal database directly via its native protocol (e.g., PostgreSQL) and communicates with the gateway through its HTTP CRUD API. The internal database is treated as read-only. No writes, migrations, or other modifications are performed against it.
During synchronization, the service compares internal conferences with those stored on the gateway. The following actions might be queued and are executed in batches once all comparisons are complete:
- Delete from the gateway if the conference no longer exists internally, is marked as deleted, or has both guest and phone access deactivated.
- Update in the gateway if the conference exists on both sides but data has diverged.
- Create in the gateway if the conference exists internally with access enabled but is missing from the gateway.
The service has no HTTP endpoints and operates purely as a background process. It supports two operation modes:
- One-shot (
CONFERENCE_CLEANUP_RUN_CLEANUP_ON_STARTUP=true): Runs a single sync immediately on service startup. - Scheduled (
CONFERENCE_CLEANUP_SCHEDULE=HH:MM(:SS)): Runs a sync daily at the configured time.
Set CONFERENCE_CLEANUP_DRY_RUN=true to preview all actions without executing them.
Software-Details
05/29/26
05/29/26
beta
0.2.0
BSD-3-Clause
Making software use visible!
Last updated: