#12261 Stop repeated rescheduling of Dataverse synch jobs on bulk changes
The Dataverse synchronization job reschedule logic now checks both the scheduled task's next run time and the job queue entry's earliest start date to avoid repeated rescheduling during bulk changes, reducing unnecessary Service Bus costs.
- 2files
- 1AL files
- 1objects
Pull request · merged into main (BC30) on 2026-10-06 by darjoo · 2 files (+117 -17), 1 AL · fix · tier official · reviewed (checked by Opus)
What changed
- Reschedule now also checks the job queue entry’s Earliest Start Date/Time and skips jobs already due within the reschedule window
- Job queue entry is locked before SetTaskReady, and status, task ID and earliest start are re-checked under the lock so concurrent sessions do not each reschedule
- Reschedule loop moved into new internal procedure RescheduleJobQueueEntriesForTable so tests can call it
- Targets telemetry showing one reschedule per changed record, which drove Service Bus cost
- New tests cover moving a later job to about 30 seconds and not rescheduling again when the task’s Not Before is stale
- Behaviour changes for users or extensions.
AL objects touched
- Codeunit 5330 “CRM Integration Management”, Base Application: modified
Context
- Work items: AB#576352
- Labels: Team: Integrations
- Systems: integration
- From the description: “If the job is already due within the reschedule window, skip it.”
Source: metadata of a merged pull request in microsoft/BCApps (bcapps): title, labels, changed paths and counts, with a summary in our words. No source text and no description beyond one short quote (D10, D61).