@@ -788,7 +788,8 @@ func (c *StoreReconciler) provisionDelete(ctx context.Context, db database.Store
788788// Since these jobs were never processed by a provisioner, no Terraform resources were created,
789789// making it safe to orphan-delete the workspaces (skipping Terraform destroy).
790790func (c * StoreReconciler )cancelAndOrphanDeletePendingPrebuilds (ctx context.Context ,templateID uuid.UUID ,templateVersionID uuid.UUID ,presetID uuid.UUID )error {
791- provisionerJobs := make (map [uuid.UUID ]* database.ProvisionerJob )
791+ var canceledProvisionerJob * database.ProvisionerJob
792+ var canceledWorkspaceID uuid.UUID
792793err := c .store .InTx (func (db database.Store )error {
793794canceledJobs ,err := db .UpdatePrebuildProvisionerJobWithCancel (
794795ctx ,
@@ -823,8 +824,9 @@ func (c *StoreReconciler) cancelAndOrphanDeletePendingPrebuilds(ctx context.Cont
823824c .logger .Error (ctx ,"failed to orphan delete canceled prebuild" ,
824825slog .F ("workspace_id" ,job .WorkspaceID .String ()),slog .Error (err ))
825826multiErr .Errors = append (multiErr .Errors ,err )
826- }else {
827- provisionerJobs [job .WorkspaceID ]= provisionerJob
827+ }else if canceledProvisionerJob == nil {
828+ canceledProvisionerJob = provisionerJob
829+ canceledWorkspaceID = job .WorkspaceID
828830}
829831}
830832
@@ -837,9 +839,12 @@ func (c *StoreReconciler) cancelAndOrphanDeletePendingPrebuilds(ctx context.Cont
837839return err
838840}
839841
840- // Publish provisioner job events to notify the acquirer that new jobs were posted
841- for workspaceID ,job := range provisionerJobs {
842- c .publishProvisionerJob (ctx ,job ,workspaceID )
842+ // Job event notifications contain organization, provisioner type, and tags.
843+ // Since all canceled jobs have the same values, we only send one notification
844+ // for the first successfully canceled job, which is sufficient to trigger the
845+ // provisioner chain that processes all remaining jobs.
846+ if canceledProvisionerJob != nil {
847+ c .publishProvisionerJob (ctx ,canceledProvisionerJob ,canceledWorkspaceID )
843848}
844849
845850return nil