How Bracket syncs using the streaming method
unprocessed_records
table:
Id
field. In most objects, this is automatic.bracket_audit
. This is where Bracket will store the trigger log table, which contains a history of Postgres events.bracket_pkey
as the primary key field, with UUIDv4 values. Bracket will generate these for you for any created tables.id
, which syncs with the Salesforce ID field.First Step
commitTimestamp
greater than the last six minutes.If there are no new events, and it’s been less than 10 minutes since the last successful
poll, Bracket does not poll Salesforce—this is where Brackets saves you from costly REST
API usage.Second Step
unprocessed_records
.Consistent 10-minute polling intervals make sure any events missed by pub/sub are still ultimately synced.Third Step
status='UNPROCESSED'
and queries records with the corresponding primary keys from the synced Postgres table.Fourth Step
PROCESSED
or
ERROR
in unprocessed_records
. If ERRORED
, Bracket will try syncing the erroneous
record at the next poll attempt only if a new change has been detected.If during a given sync period a corresponding Postgres record was also updated, Bracket will remove the record from the next step.Fifth Step