From ae55a6afaa032672969f0c2e039d1780ab3957f7 Mon Sep 17 00:00:00 2001 From: Frank Midigo Date: Tue, 1 Oct 2024 12:47:11 +0300 Subject: [PATCH 1/2] engine-multi: Include timestamp on --- .changeset/healthy-kangaroos-cross.md | 5 +++ packages/engine-multi/src/api/lifecycle.ts | 1 + packages/engine-multi/src/events.ts | 1 + .../engine-multi/test/api/lifecycle.test.ts | 44 +++++++++++++++++++ 4 files changed, 51 insertions(+) create mode 100644 .changeset/healthy-kangaroos-cross.md diff --git a/.changeset/healthy-kangaroos-cross.md b/.changeset/healthy-kangaroos-cross.md new file mode 100644 index 000000000..d9e26dcca --- /dev/null +++ b/.changeset/healthy-kangaroos-cross.md @@ -0,0 +1,5 @@ +--- +'@openfn/engine-multi': minor +--- + +Include timestamp on JOB_ERROR payload diff --git a/packages/engine-multi/src/api/lifecycle.ts b/packages/engine-multi/src/api/lifecycle.ts index d18fd3ece..715bba775 100644 --- a/packages/engine-multi/src/api/lifecycle.ts +++ b/packages/engine-multi/src/api/lifecycle.ts @@ -120,6 +120,7 @@ export const jobError = ( duration, jobId, next, + time: timestamp(), }); }; diff --git a/packages/engine-multi/src/events.ts b/packages/engine-multi/src/events.ts index 0e3e97fc2..24bbac874 100644 --- a/packages/engine-multi/src/events.ts +++ b/packages/engine-multi/src/events.ts @@ -86,6 +86,7 @@ export interface JobCompletePayload extends ExternalEvent { export interface JobErrorPayload extends ExternalEvent { jobId: string; duration: number; + time: bigint; state: any; // the result state error: any; next: string[]; // downstream jobs diff --git a/packages/engine-multi/test/api/lifecycle.test.ts b/packages/engine-multi/test/api/lifecycle.test.ts index 3f7e90293..5625bba0a 100644 --- a/packages/engine-multi/test/api/lifecycle.test.ts +++ b/packages/engine-multi/test/api/lifecycle.test.ts @@ -9,6 +9,7 @@ import { jobStart, jobComplete, error, + jobError, } from '../../src/api/lifecycle'; import { WorkflowState } from '../../src/types'; import ExecutionContext from '../../src/classes/ExecutionContext'; @@ -194,6 +195,49 @@ test(`job-complete: emits ${e.JOB_COMPLETE} with key fields`, (t) => { }); }); +test(`job-error: emits ${e.JOB_ERROR} with key fields`, (t) => { + return new Promise((done) => { + const workflowId = 'a'; + + const state = { + id: workflowId, + startTime: Date.now() - 1000, + } as WorkflowState; + + const context = createContext(workflowId, state); + + const event: w.JobErrorEvent = { + type: w.JOB_ERROR, + error: { + message: 'Unexpected content returned', + name: 'JobError', + severity: 'fail', + }, + workflowId, + threadId: '1', + jobId: 'j', + duration: 2, + state: 22, + next: [], + }; + + context.on(e.JOB_ERROR, (evt) => { + t.is(evt.workflowId, workflowId); + t.is(evt.threadId, '1'); + t.is(evt.jobId, 'j'); + t.is(evt.state, 22); + t.is(evt.duration, 2); + t.deepEqual(evt.next, []); + t.deepEqual(evt.error, event.error); + t.assert(evt.time > 0); + t.assert(typeof evt.time === 'bigint'); + done(); + }); + + jobError(context, event); + }); +}); + test(`log: emits ${e.WORKFLOW_LOG}`, (t) => { return new Promise((done) => { const workflowId = 'a'; From 83a94ad6f572497d7e9662d83d84b7ab084f40a9 Mon Sep 17 00:00:00 2001 From: Joe Clark Date: Tue, 1 Oct 2024 11:33:05 +0100 Subject: [PATCH 2/2] version: worker@1.7.0 --- .changeset/healthy-kangaroos-cross.md | 5 ----- integration-tests/worker/CHANGELOG.md | 9 +++++++++ integration-tests/worker/package.json | 2 +- packages/engine-multi/CHANGELOG.md | 6 ++++++ packages/engine-multi/package.json | 2 +- packages/lightning-mock/CHANGELOG.md | 7 +++++++ packages/lightning-mock/package.json | 2 +- packages/ws-worker/CHANGELOG.md | 11 +++++++++++ packages/ws-worker/package.json | 2 +- 9 files changed, 37 insertions(+), 9 deletions(-) delete mode 100644 .changeset/healthy-kangaroos-cross.md diff --git a/.changeset/healthy-kangaroos-cross.md b/.changeset/healthy-kangaroos-cross.md deleted file mode 100644 index d9e26dcca..000000000 --- a/.changeset/healthy-kangaroos-cross.md +++ /dev/null @@ -1,5 +0,0 @@ ---- -'@openfn/engine-multi': minor ---- - -Include timestamp on JOB_ERROR payload diff --git a/integration-tests/worker/CHANGELOG.md b/integration-tests/worker/CHANGELOG.md index 3db80759b..67f321c2c 100644 --- a/integration-tests/worker/CHANGELOG.md +++ b/integration-tests/worker/CHANGELOG.md @@ -1,5 +1,14 @@ # @openfn/integration-tests-worker +## 1.0.62 + +### Patch Changes + +- Updated dependencies [ae55a6a] + - @openfn/engine-multi@1.3.0 + - @openfn/ws-worker@1.7.0 + - @openfn/lightning-mock@2.0.20 + ## 1.0.61 ### Patch Changes diff --git a/integration-tests/worker/package.json b/integration-tests/worker/package.json index 1056d4491..089ee40ae 100644 --- a/integration-tests/worker/package.json +++ b/integration-tests/worker/package.json @@ -1,7 +1,7 @@ { "name": "@openfn/integration-tests-worker", "private": true, - "version": "1.0.61", + "version": "1.0.62", "description": "Lightning WOrker integration tests", "author": "Open Function Group ", "license": "ISC", diff --git a/packages/engine-multi/CHANGELOG.md b/packages/engine-multi/CHANGELOG.md index 3b6bfc7e2..4622515d5 100644 --- a/packages/engine-multi/CHANGELOG.md +++ b/packages/engine-multi/CHANGELOG.md @@ -1,5 +1,11 @@ # engine-multi +## 1.3.0 + +### Minor Changes + +- ae55a6a: Include timestamp on JOB_ERROR payload + ## 1.2.5 ### Patch Changes diff --git a/packages/engine-multi/package.json b/packages/engine-multi/package.json index 77a1dfc7a..b61f23979 100644 --- a/packages/engine-multi/package.json +++ b/packages/engine-multi/package.json @@ -1,6 +1,6 @@ { "name": "@openfn/engine-multi", - "version": "1.2.5", + "version": "1.3.0", "description": "Multi-process runtime engine", "main": "dist/index.js", "type": "module", diff --git a/packages/lightning-mock/CHANGELOG.md b/packages/lightning-mock/CHANGELOG.md index a629ee5a0..9786be28c 100644 --- a/packages/lightning-mock/CHANGELOG.md +++ b/packages/lightning-mock/CHANGELOG.md @@ -1,5 +1,12 @@ # @openfn/lightning-mock +## 2.0.20 + +### Patch Changes + +- Updated dependencies [ae55a6a] + - @openfn/engine-multi@1.3.0 + ## 2.0.19 ### Patch Changes diff --git a/packages/lightning-mock/package.json b/packages/lightning-mock/package.json index b4f5bfae9..18faf906a 100644 --- a/packages/lightning-mock/package.json +++ b/packages/lightning-mock/package.json @@ -1,6 +1,6 @@ { "name": "@openfn/lightning-mock", - "version": "2.0.19", + "version": "2.0.20", "private": true, "description": "A mock Lightning server", "main": "dist/index.js", diff --git a/packages/ws-worker/CHANGELOG.md b/packages/ws-worker/CHANGELOG.md index ebc95f2d1..cf78dec30 100644 --- a/packages/ws-worker/CHANGELOG.md +++ b/packages/ws-worker/CHANGELOG.md @@ -1,5 +1,16 @@ # ws-worker +## 1.7.0 + +### Minor Changes + +- ae55a6a: Include timestamp on step complete even if the step failed + +### Patch Changes + +- Updated dependencies [ae55a6a] + - @openfn/engine-multi@1.3.0 + ## 1.6.7 ### Patch Changes diff --git a/packages/ws-worker/package.json b/packages/ws-worker/package.json index 5fbe9aa29..c10dac7ce 100644 --- a/packages/ws-worker/package.json +++ b/packages/ws-worker/package.json @@ -1,6 +1,6 @@ { "name": "@openfn/ws-worker", - "version": "1.6.7", + "version": "1.7.0", "description": "A Websocket Worker to connect Lightning to a Runtime Engine", "main": "dist/index.js", "type": "module",