Some checks failed
Security: Sync from Public / sync-from-public (push) Has been cancelled
Test: Benchmark Nightly / build (push) Has been cancelled
Test: Benchmark Nightly / Notify Cats on failure (push) Has been cancelled
CI: Python / Checks (push) Has been cancelled
Test: Evals Python / Workflow Comparison Python (push) Has been cancelled
Util: Check Docs URLs / check-docs-urls (push) Has been cancelled
Test: Visual Storybook / Cloudflare Pages (push) Has been cancelled
Test: E2E Performance / build-and-test-performance (push) Has been cancelled
Test: Workflows Nightly / Run Workflow Tests (push) Has been cancelled
Util: Cleanup CI Docker Images / Delete stale CI images (push) Has been cancelled
Test: Benchmark Destroy Env / build (push) Has been cancelled
Util: Update Node Popularity / update-popularity (push) Has been cancelled
Test: E2E Coverage Weekly / Coverage Tests (push) Has been cancelled
22 lines
793 B
Diff
22 lines
793 B
Diff
diff --git a/lib/job.js b/lib/job.js
|
|
index 1642d3fb35cbd64b553291660fc63bae2e7f2ef5..3301e3fbc7296f545b65331dad1f12c820267e0d 100644
|
|
--- a/lib/job.js
|
|
+++ b/lib/job.js
|
|
@@ -513,9 +513,14 @@ Job.prototype.finished = async function() {
|
|
}
|
|
};
|
|
|
|
- const onFailed = (jobId, failedReason) => {
|
|
+ const onFailed = async (jobId, failedReason) => {
|
|
if (String(jobId) === String(this.id)) {
|
|
- reject(new Error(failedReason));
|
|
+ const job = await Job.fromId(this.queue, this.id);
|
|
+ const error = new Error(failedReason);
|
|
+ if (job && job.stacktrace && job.stacktrace.length > 0) {
|
|
+ error.stack = job.stacktrace.join('\n');
|
|
+ }
|
|
+ reject(new Error(error));
|
|
removeListeners();
|
|
}
|
|
};
|