PMS Sync Auto-Retry After Error
PMS Sync Auto-Retry After Error
Available from: v0.1.281
Overview
When a Property Management System (PMS) connection sync fails, the platform now automatically schedules a single retry attempt 30 minutes after the failure is detected. This reduces manual intervention for transient errors — such as brief network outages or temporary third-party API unavailability — without risking runaway retry loops.
How It Works
The workflow is event-driven and operates as follows:
1. Trigger
The workflow listens for the pms/connection.sync.failed event. This event fires when a pmsConnections record transitions its status field to error.
2. Wait Period
Upon receiving the event, the workflow pauses for 30 minutes before taking any action. This delay is intentional — it provides a window for transient issues (e.g. third-party downtime, network blips) to resolve themselves.
3. Single Retry Attempt
After the wait, the workflow re-queues one sync attempt for the affected PMS connection. The attempt is logged to pmsSyncLogs.
4. Outcome Handling
- If the retry succeeds: The
pmsConnectionsstatus is updated accordingly and normal sync cadence resumes. - If the retry also fails: The auto-retry workflow takes no further action. The existing
pms-sync-failure-notifyworkflow handles escalation (notifications, alerting, etc.).
Affected Entities
| Entity | Role |
|---|---|
pmsConnections | Source of the status: error transition that triggers the workflow |
pmsSyncLogs | Records the retry sync attempt and its outcome |
Retry Policy
This workflow enforces a maximum of one automated retry per failure event. This is by design:
- Prevents retry storms against third-party PMS APIs.
- Keeps the retry window predictable (30-minute delay, single attempt).
- Defers to human-reviewed escalation for persistent failures.
If more than one retry is needed, it must be initiated manually or through the escalation workflow.
Escalation
Persistent sync failures — where both the original sync and the auto-retry fail — are handled by the pms-sync-failure-notify workflow. This pre-existing workflow is responsible for sending notifications and alerts to the relevant parties. The auto-retry workflow does not duplicate or replace this behaviour.
Summary Flow
pms/connection.sync.failed
│
▼
[Wait 30 minutes]
│
▼
[Queue retry sync]
│
┌──┴──┐
Success Failure
│ │
Resume pms-sync-failure-notify
normal handles escalation
sync