feat(backend): propagate correlationId to background jobs#1181
Merged
Devsol-01 merged 2 commits intoJul 1, 2026
Merged
Conversation
Adds optional correlationId to all 7 job data interfaces in job-queue.service.ts, embedding it into the queue payload. Updates all job processors to extract correlationId and prepend it to log messages for distributed tracing. Incorporates the @CorrelationId() decorator across multiple controllers (reports, audit logs, disputes, users) to pass the context down to the queue. Includes tests verifying data propagation and log message prefixing. Closes Devsol-01#114
|
The latest updates on your projects. Learn more about Vercel for GitHub. |
|
@Musab1258 Great news! 🎉 Based on an automated assessment of this PR, the linked Wave issue(s) no longer count against your application limits. You can now already apply to more issues while waiting for a review of this PR. Keep up the great work! 🚀 |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Linked issue
Closes #1142
What changed and why
This PR ensures that
correlationIdpropagates from the initial HTTP request all the way down to background job processing, allowing logs and traces to reliably connect request-level activity to queued tasks. It achieves this by pulling thecorrelationIdvia a controller decorator, passing it through the service layers, appending it to the 7 defined job data payloads injob-queue.service.ts, and automatically extracting it in the processors to prepend to all execution, failure, and completion logs.Test plan
pnpm test)pnpm -r typecheck)Test Notes:
job-queue.service.spec.tsverifyingcorrelationIdis included in the data passed toqueue.add().report.processor.spec.tsto ensure processors function correctly, prepend[correlationId]to debug log messages, and gracefully omit the prefix when the ID is absent.Breaking changes
None
Notes for reviewers
All 7 job data interfaces (
NotificationJobData,EmailJobData,BlockchainJobData,ReportJobData,DisputeEvidenceJobData,AvatarJobData,AuditLogExportJobData) were updated to support the optionalcorrelationIdproperty. Since the parameter is optional in the queue insertion methods, this safely handles any legacy code paths that might queue jobs without a request context.