@etohq/workflow-engine-redis 1.4.0 → 1.5.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/loaders/redis.d.ts +2 -2
- package/dist/loaders/redis.d.ts.map +1 -1
- package/dist/loaders/redis.js +4 -1
- package/dist/loaders/redis.js.map +1 -1
- package/dist/migrations/Migration20250120111059.d.ts +6 -0
- package/dist/migrations/Migration20250120111059.d.ts.map +1 -0
- package/dist/migrations/Migration20250120111059.js +14 -0
- package/dist/migrations/Migration20250120111059.js.map +1 -0
- package/dist/migrations/Migration20250128174354.d.ts +6 -0
- package/dist/migrations/Migration20250128174354.d.ts.map +1 -0
- package/dist/migrations/Migration20250128174354.js +24 -0
- package/dist/migrations/Migration20250128174354.js.map +1 -0
- package/dist/migrations/Migration20250505101505.d.ts +6 -0
- package/dist/migrations/Migration20250505101505.d.ts.map +1 -0
- package/dist/migrations/Migration20250505101505.js +40 -0
- package/dist/migrations/Migration20250505101505.js.map +1 -0
- package/dist/models/workflow-execution.d.ts +2 -0
- package/dist/models/workflow-execution.d.ts.map +1 -1
- package/dist/models/workflow-execution.js +7 -0
- package/dist/models/workflow-execution.js.map +1 -1
- package/dist/services/workflow-orchestrator.d.ts +16 -7
- package/dist/services/workflow-orchestrator.d.ts.map +1 -1
- package/dist/services/workflow-orchestrator.js +148 -97
- package/dist/services/workflow-orchestrator.js.map +1 -1
- package/dist/services/workflows-module.d.ts +110 -5
- package/dist/services/workflows-module.d.ts.map +1 -1
- package/dist/services/workflows-module.js +117 -13
- package/dist/services/workflows-module.js.map +1 -1
- package/dist/tsconfig.tsbuildinfo +1 -1
- package/dist/types/index.d.ts +4 -0
- package/dist/types/index.d.ts.map +1 -1
- package/dist/utils/workflow-orchestrator-storage.d.ts +15 -4
- package/dist/utils/workflow-orchestrator-storage.d.ts.map +1 -1
- package/dist/utils/workflow-orchestrator-storage.js +302 -56
- package/dist/utils/workflow-orchestrator-storage.js.map +1 -1
- package/package.json +11 -11
|
@@ -1,8 +1,21 @@
|
|
|
1
1
|
"use strict";
|
|
2
|
+
var __classPrivateFieldSet = (this && this.__classPrivateFieldSet) || function (receiver, state, value, kind, f) {
|
|
3
|
+
if (kind === "m") throw new TypeError("Private method is not writable");
|
|
4
|
+
if (kind === "a" && !f) throw new TypeError("Private accessor was defined without a setter");
|
|
5
|
+
if (typeof state === "function" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError("Cannot write private member to an object whose class did not declare it");
|
|
6
|
+
return (kind === "a" ? f.call(receiver, value) : f ? f.value = value : state.set(receiver, value)), value;
|
|
7
|
+
};
|
|
8
|
+
var __classPrivateFieldGet = (this && this.__classPrivateFieldGet) || function (receiver, state, kind, f) {
|
|
9
|
+
if (kind === "a" && !f) throw new TypeError("Private accessor was defined without a getter");
|
|
10
|
+
if (typeof state === "function" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError("Cannot read private member from an object whose class did not declare it");
|
|
11
|
+
return kind === "m" ? f : kind === "a" ? f.call(receiver) : f ? f.value : state.get(receiver);
|
|
12
|
+
};
|
|
13
|
+
var _RedisDistributedTransactionStorage_instances, _RedisDistributedTransactionStorage_isWorkerMode, _RedisDistributedTransactionStorage_preventRaceConditionExecutionIfNecessary;
|
|
2
14
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
15
|
exports.RedisDistributedTransactionStorage = void 0;
|
|
4
16
|
const orchestration_1 = require("@etohq/framework/orchestration");
|
|
5
17
|
const utils_1 = require("@etohq/framework/utils");
|
|
18
|
+
const core_1 = require("@mikro-orm/core");
|
|
6
19
|
const bullmq_1 = require("bullmq");
|
|
7
20
|
var JobType;
|
|
8
21
|
(function (JobType) {
|
|
@@ -11,21 +24,48 @@ var JobType;
|
|
|
11
24
|
JobType["STEP_TIMEOUT"] = "step_timeout";
|
|
12
25
|
JobType["TRANSACTION_TIMEOUT"] = "transaction_timeout";
|
|
13
26
|
})(JobType || (JobType = {}));
|
|
27
|
+
const ONE_HOUR_IN_MS = 1000 * 60 * 60;
|
|
28
|
+
const REPEATABLE_CLEARER_JOB_ID = "clear-expired-executions";
|
|
14
29
|
class RedisDistributedTransactionStorage {
|
|
15
|
-
constructor({ workflowExecutionService, redisConnection, redisWorkerConnection, redisQueueName, logger, }) {
|
|
30
|
+
constructor({ workflowExecutionService, redisConnection, redisWorkerConnection, redisQueueName, redisJobQueueName, logger, isWorkerMode, }) {
|
|
31
|
+
_RedisDistributedTransactionStorage_instances.add(this);
|
|
32
|
+
_RedisDistributedTransactionStorage_isWorkerMode.set(this, false);
|
|
16
33
|
this.workflowExecutionService_ = workflowExecutionService;
|
|
17
34
|
this.logger_ = logger;
|
|
18
35
|
this.redisClient = redisConnection;
|
|
19
36
|
this.redisWorkerConnection = redisWorkerConnection;
|
|
37
|
+
this.cleanerQueueName = "workflows-cleaner";
|
|
20
38
|
this.queueName = redisQueueName;
|
|
39
|
+
this.jobQueueName = redisJobQueueName;
|
|
21
40
|
this.queue = new bullmq_1.Queue(redisQueueName, { connection: this.redisClient });
|
|
41
|
+
this.jobQueue = isWorkerMode
|
|
42
|
+
? new bullmq_1.Queue(redisJobQueueName, {
|
|
43
|
+
connection: this.redisClient,
|
|
44
|
+
})
|
|
45
|
+
: undefined;
|
|
46
|
+
this.cleanerQueue_ = isWorkerMode
|
|
47
|
+
? new bullmq_1.Queue(this.cleanerQueueName, {
|
|
48
|
+
connection: this.redisClient,
|
|
49
|
+
})
|
|
50
|
+
: undefined;
|
|
51
|
+
__classPrivateFieldSet(this, _RedisDistributedTransactionStorage_isWorkerMode, isWorkerMode, "f");
|
|
22
52
|
}
|
|
23
53
|
async onApplicationPrepareShutdown() {
|
|
24
54
|
// Close worker gracefully, i.e. wait for the current jobs to finish
|
|
25
55
|
await this.worker?.close();
|
|
56
|
+
await this.jobWorker?.close();
|
|
57
|
+
const repeatableJobs = (await this.cleanerQueue_?.getRepeatableJobs()) ?? [];
|
|
58
|
+
for (const job of repeatableJobs) {
|
|
59
|
+
if (job.id === REPEATABLE_CLEARER_JOB_ID) {
|
|
60
|
+
await this.cleanerQueue_?.removeRepeatableByKey(job.key);
|
|
61
|
+
}
|
|
62
|
+
}
|
|
63
|
+
await this.cleanerWorker_?.close();
|
|
26
64
|
}
|
|
27
65
|
async onApplicationShutdown() {
|
|
28
66
|
await this.queue?.close();
|
|
67
|
+
await this.jobQueue?.close();
|
|
68
|
+
await this.cleanerQueue_?.close();
|
|
29
69
|
}
|
|
30
70
|
async onApplicationStart() {
|
|
31
71
|
const allowedJobs = [
|
|
@@ -33,32 +73,56 @@ class RedisDistributedTransactionStorage {
|
|
|
33
73
|
JobType.STEP_TIMEOUT,
|
|
34
74
|
JobType.TRANSACTION_TIMEOUT,
|
|
35
75
|
];
|
|
76
|
+
const workerOptions = {
|
|
77
|
+
connection: this.redisWorkerConnection,
|
|
78
|
+
};
|
|
79
|
+
// TODO: Remove this once we have released to all clients (Added: v2.6+)
|
|
80
|
+
// Remove all repeatable jobs from the old queue since now we have a queue dedicated to scheduled jobs
|
|
81
|
+
await this.removeAllRepeatableJobs(this.queue);
|
|
36
82
|
this.worker = new bullmq_1.Worker(this.queueName, async (job) => {
|
|
83
|
+
this.logger_.debug(`executing job ${job.name} from queue ${this.queueName} with the following data: ${JSON.stringify(job.data)}`);
|
|
37
84
|
if (allowedJobs.includes(job.name)) {
|
|
38
|
-
await this.executeTransaction(job.data.workflowId, job.data.transactionId);
|
|
85
|
+
await this.executeTransaction(job.data.workflowId, job.data.transactionId, job.data.transactionMetadata);
|
|
39
86
|
}
|
|
40
|
-
// Note: We might even want a separate worker with different concurrency settings in the future, but for now we keep it simple
|
|
41
87
|
if (job.name === JobType.SCHEDULE) {
|
|
42
|
-
|
|
88
|
+
// Remove repeatable job from the old queue since now we have a queue dedicated to scheduled jobs
|
|
89
|
+
await this.remove(job.data.jobId);
|
|
43
90
|
}
|
|
44
|
-
},
|
|
45
|
-
|
|
46
|
-
|
|
91
|
+
}, workerOptions);
|
|
92
|
+
if (__classPrivateFieldGet(this, _RedisDistributedTransactionStorage_isWorkerMode, "f")) {
|
|
93
|
+
this.jobWorker = new bullmq_1.Worker(this.jobQueueName, async (job) => {
|
|
94
|
+
this.logger_.debug(`executing scheduled job ${job.data.jobId} from queue ${this.jobQueueName} with the following options: ${JSON.stringify(job.data.schedulerOptions)}`);
|
|
95
|
+
return await this.executeScheduledJob(job.data.jobId, job.data.schedulerOptions);
|
|
96
|
+
}, workerOptions);
|
|
97
|
+
this.cleanerWorker_ = new bullmq_1.Worker(this.cleanerQueueName, async () => {
|
|
98
|
+
await this.clearExpiredExecutions();
|
|
99
|
+
}, { connection: this.redisClient });
|
|
100
|
+
await this.cleanerQueue_?.add("cleaner", {}, {
|
|
101
|
+
repeat: {
|
|
102
|
+
every: ONE_HOUR_IN_MS,
|
|
103
|
+
},
|
|
104
|
+
jobId: REPEATABLE_CLEARER_JOB_ID,
|
|
105
|
+
removeOnComplete: true,
|
|
106
|
+
removeOnFail: true,
|
|
107
|
+
});
|
|
108
|
+
}
|
|
47
109
|
}
|
|
48
110
|
setWorkflowOrchestratorService(workflowOrchestratorService) {
|
|
49
111
|
this.workflowOrchestratorService_ = workflowOrchestratorService;
|
|
50
112
|
}
|
|
51
|
-
async saveToDb(data) {
|
|
113
|
+
async saveToDb(data, retentionTime) {
|
|
52
114
|
await this.workflowExecutionService_.upsert([
|
|
53
115
|
{
|
|
54
116
|
workflow_id: data.flow.modelId,
|
|
55
117
|
transaction_id: data.flow.transactionId,
|
|
118
|
+
run_id: data.flow.runId,
|
|
56
119
|
execution: data.flow,
|
|
57
120
|
context: {
|
|
58
121
|
data: data.context,
|
|
59
122
|
errors: data.errors,
|
|
60
123
|
},
|
|
61
124
|
state: data.flow.state,
|
|
125
|
+
retention_time: retentionTime,
|
|
62
126
|
},
|
|
63
127
|
]);
|
|
64
128
|
}
|
|
@@ -67,23 +131,28 @@ class RedisDistributedTransactionStorage {
|
|
|
67
131
|
{
|
|
68
132
|
workflow_id: data.flow.modelId,
|
|
69
133
|
transaction_id: data.flow.transactionId,
|
|
134
|
+
run_id: data.flow.runId,
|
|
70
135
|
},
|
|
71
136
|
]);
|
|
72
137
|
}
|
|
73
|
-
async executeTransaction(workflowId, transactionId) {
|
|
138
|
+
async executeTransaction(workflowId, transactionId, transactionMetadata = {}) {
|
|
74
139
|
return await this.workflowOrchestratorService_.run(workflowId, {
|
|
75
140
|
transactionId,
|
|
76
141
|
logOnError: true,
|
|
77
142
|
throwOnError: false,
|
|
143
|
+
context: {
|
|
144
|
+
eventGroupId: transactionMetadata.eventGroupId,
|
|
145
|
+
parentStepIdempotencyKey: transactionMetadata.parentStepIdempotencyKey,
|
|
146
|
+
preventReleaseEvents: transactionMetadata.preventReleaseEvents,
|
|
147
|
+
},
|
|
78
148
|
});
|
|
79
149
|
}
|
|
80
150
|
async executeScheduledJob(jobId, schedulerOptions) {
|
|
81
151
|
try {
|
|
82
152
|
// TODO: In the case of concurrency being forbidden, we want to generate a predictable transaction ID and rely on the idempotency
|
|
83
153
|
// of the transaction to ensure that the transaction is only executed once.
|
|
84
|
-
|
|
154
|
+
await this.workflowOrchestratorService_.run(jobId, {
|
|
85
155
|
logOnError: true,
|
|
86
|
-
throwOnError: false,
|
|
87
156
|
});
|
|
88
157
|
}
|
|
89
158
|
catch (e) {
|
|
@@ -96,43 +165,51 @@ class RedisDistributedTransactionStorage {
|
|
|
96
165
|
}
|
|
97
166
|
}
|
|
98
167
|
async get(key, options) {
|
|
99
|
-
const data = await this.redisClient.get(key);
|
|
100
|
-
if (data) {
|
|
101
|
-
return JSON.parse(data);
|
|
102
|
-
}
|
|
103
|
-
const { idempotent } = options ?? {};
|
|
104
|
-
if (!idempotent) {
|
|
105
|
-
return;
|
|
106
|
-
}
|
|
107
168
|
const [_, workflowId, transactionId] = key.split(":");
|
|
108
169
|
const trx = await this.workflowExecutionService_
|
|
109
|
-
.
|
|
170
|
+
.list({
|
|
110
171
|
workflow_id: workflowId,
|
|
111
172
|
transaction_id: transactionId,
|
|
112
173
|
}, {
|
|
113
174
|
select: ["execution", "context"],
|
|
175
|
+
order: {
|
|
176
|
+
id: "desc",
|
|
177
|
+
},
|
|
178
|
+
take: 1,
|
|
114
179
|
})
|
|
180
|
+
.then((trx) => trx[0])
|
|
115
181
|
.catch(() => undefined);
|
|
116
182
|
if (trx) {
|
|
183
|
+
const rawData = await this.redisClient.get(key);
|
|
184
|
+
let flow, errors;
|
|
185
|
+
if (rawData) {
|
|
186
|
+
const data = JSON.parse(rawData);
|
|
187
|
+
flow = data.flow;
|
|
188
|
+
errors = data.errors;
|
|
189
|
+
}
|
|
190
|
+
const { idempotent } = options ?? {};
|
|
191
|
+
const execution = trx.execution;
|
|
192
|
+
if (!idempotent) {
|
|
193
|
+
const isFailedOrReverted = [
|
|
194
|
+
utils_1.TransactionState.REVERTED,
|
|
195
|
+
utils_1.TransactionState.FAILED,
|
|
196
|
+
].includes(execution.state);
|
|
197
|
+
const isDone = execution.state === utils_1.TransactionState.DONE;
|
|
198
|
+
const isCancellingAndFailedOrReverted = options?.isCancelling && isFailedOrReverted;
|
|
199
|
+
const isNotCancellingAndDoneOrFailedOrReverted = !options?.isCancelling && (isDone || isFailedOrReverted);
|
|
200
|
+
if (isCancellingAndFailedOrReverted ||
|
|
201
|
+
isNotCancellingAndDoneOrFailedOrReverted) {
|
|
202
|
+
return;
|
|
203
|
+
}
|
|
204
|
+
}
|
|
117
205
|
return {
|
|
118
|
-
flow: trx.execution,
|
|
119
|
-
context: trx.context
|
|
120
|
-
errors: trx.context
|
|
206
|
+
flow: flow ?? trx.execution,
|
|
207
|
+
context: trx.context?.data,
|
|
208
|
+
errors: errors ?? trx.context?.errors,
|
|
121
209
|
};
|
|
122
210
|
}
|
|
123
211
|
return;
|
|
124
212
|
}
|
|
125
|
-
async list() {
|
|
126
|
-
const keys = await this.redisClient.keys(orchestration_1.DistributedTransaction.keyPrefix + ":*");
|
|
127
|
-
const transactions = [];
|
|
128
|
-
for (const key of keys) {
|
|
129
|
-
const data = await this.redisClient.get(key);
|
|
130
|
-
if (data) {
|
|
131
|
-
transactions.push(JSON.parse(data));
|
|
132
|
-
}
|
|
133
|
-
}
|
|
134
|
-
return transactions;
|
|
135
|
-
}
|
|
136
213
|
async save(key, data, ttl, options) {
|
|
137
214
|
/**
|
|
138
215
|
* Store the retention time only if the transaction is done, failed or reverted.
|
|
@@ -144,34 +221,74 @@ class RedisDistributedTransactionStorage {
|
|
|
144
221
|
utils_1.TransactionState.REVERTED,
|
|
145
222
|
].includes(data.flow.state);
|
|
146
223
|
const { retentionTime, idempotent } = options ?? {};
|
|
147
|
-
|
|
224
|
+
await __classPrivateFieldGet(this, _RedisDistributedTransactionStorage_instances, "m", _RedisDistributedTransactionStorage_preventRaceConditionExecutionIfNecessary).call(this, {
|
|
225
|
+
data,
|
|
226
|
+
key,
|
|
227
|
+
options,
|
|
228
|
+
});
|
|
229
|
+
if (hasFinished && retentionTime) {
|
|
148
230
|
Object.assign(data, {
|
|
149
231
|
retention_time: retentionTime,
|
|
150
232
|
});
|
|
151
233
|
}
|
|
152
|
-
const
|
|
234
|
+
const isNotStarted = data.flow.state === utils_1.TransactionState.NOT_STARTED;
|
|
235
|
+
const isManualTransactionId = !data.flow.transactionId.startsWith("auto-");
|
|
236
|
+
// Only set if not exists
|
|
237
|
+
const shouldSetNX = isNotStarted && isManualTransactionId;
|
|
238
|
+
// Prepare operations to be executed in batch or pipeline
|
|
239
|
+
const data_ = {
|
|
240
|
+
errors: data.errors,
|
|
241
|
+
flow: data.flow,
|
|
242
|
+
};
|
|
243
|
+
const stringifiedData = JSON.stringify(data_);
|
|
244
|
+
const pipeline = this.redisClient.pipeline();
|
|
245
|
+
// Execute Redis operations
|
|
153
246
|
if (!hasFinished) {
|
|
154
247
|
if (ttl) {
|
|
155
|
-
|
|
248
|
+
if (shouldSetNX) {
|
|
249
|
+
pipeline.set(key, stringifiedData, "EX", ttl, "NX");
|
|
250
|
+
}
|
|
251
|
+
else {
|
|
252
|
+
pipeline.set(key, stringifiedData, "EX", ttl);
|
|
253
|
+
}
|
|
156
254
|
}
|
|
157
255
|
else {
|
|
158
|
-
|
|
256
|
+
if (shouldSetNX) {
|
|
257
|
+
pipeline.set(key, stringifiedData, "NX");
|
|
258
|
+
}
|
|
259
|
+
else {
|
|
260
|
+
pipeline.set(key, stringifiedData);
|
|
261
|
+
}
|
|
159
262
|
}
|
|
160
263
|
}
|
|
264
|
+
else {
|
|
265
|
+
pipeline.unlink(key);
|
|
266
|
+
}
|
|
267
|
+
const pipelinePromise = pipeline.exec().then((result) => {
|
|
268
|
+
if (!shouldSetNX) {
|
|
269
|
+
return result;
|
|
270
|
+
}
|
|
271
|
+
const actionResult = result?.pop();
|
|
272
|
+
const isOk = !!actionResult?.pop();
|
|
273
|
+
if (!isOk) {
|
|
274
|
+
throw new utils_1.EtoError(utils_1.EtoError.Types.INVALID_ARGUMENT, "Transaction already started for transactionId: " +
|
|
275
|
+
data.flow.transactionId);
|
|
276
|
+
}
|
|
277
|
+
return result;
|
|
278
|
+
});
|
|
279
|
+
// Database operations
|
|
161
280
|
if (hasFinished && !retentionTime && !idempotent) {
|
|
162
|
-
await this.deleteFromDb(data);
|
|
281
|
+
await (0, utils_1.promiseAll)([pipelinePromise, this.deleteFromDb(data)]);
|
|
163
282
|
}
|
|
164
283
|
else {
|
|
165
|
-
await this.saveToDb(data);
|
|
166
|
-
}
|
|
167
|
-
if (hasFinished) {
|
|
168
|
-
await this.redisClient.set(key, stringifiedData, "EX", RedisDistributedTransactionStorage.TTL_AFTER_COMPLETED);
|
|
284
|
+
await (0, utils_1.promiseAll)([pipelinePromise, this.saveToDb(data, retentionTime)]);
|
|
169
285
|
}
|
|
170
286
|
}
|
|
171
287
|
async scheduleRetry(transaction, step, timestamp, interval) {
|
|
172
288
|
await this.queue.add(JobType.RETRY, {
|
|
173
289
|
workflowId: transaction.modelId,
|
|
174
290
|
transactionId: transaction.transactionId,
|
|
291
|
+
transactionMetadata: transaction.getFlow().metadata,
|
|
175
292
|
stepId: step.id,
|
|
176
293
|
}, {
|
|
177
294
|
delay: interval > 0 ? interval * 1000 : undefined,
|
|
@@ -186,6 +303,7 @@ class RedisDistributedTransactionStorage {
|
|
|
186
303
|
await this.queue.add(JobType.TRANSACTION_TIMEOUT, {
|
|
187
304
|
workflowId: transaction.modelId,
|
|
188
305
|
transactionId: transaction.transactionId,
|
|
306
|
+
transactionMetadata: transaction.getFlow().metadata,
|
|
189
307
|
}, {
|
|
190
308
|
delay: interval * 1000,
|
|
191
309
|
jobId: this.getJobId(JobType.TRANSACTION_TIMEOUT, transaction),
|
|
@@ -199,6 +317,7 @@ class RedisDistributedTransactionStorage {
|
|
|
199
317
|
await this.queue.add(JobType.STEP_TIMEOUT, {
|
|
200
318
|
workflowId: transaction.modelId,
|
|
201
319
|
transactionId: transaction.transactionId,
|
|
320
|
+
transactionMetadata: transaction.getFlow().metadata,
|
|
202
321
|
stepId: step.id,
|
|
203
322
|
}, {
|
|
204
323
|
delay: interval * 1000,
|
|
@@ -221,24 +340,41 @@ class RedisDistributedTransactionStorage {
|
|
|
221
340
|
}
|
|
222
341
|
async removeJob(type, transaction, step) {
|
|
223
342
|
const jobId = this.getJobId(type, transaction, step);
|
|
224
|
-
|
|
225
|
-
|
|
226
|
-
|
|
343
|
+
if (type === JobType.SCHEDULE) {
|
|
344
|
+
const job = await this.jobQueue?.getJob(jobId);
|
|
345
|
+
if (job) {
|
|
346
|
+
await job.remove();
|
|
347
|
+
}
|
|
348
|
+
}
|
|
349
|
+
else {
|
|
350
|
+
const job = await this.queue.getJob(jobId);
|
|
351
|
+
if (job && job.attemptsStarted === 0) {
|
|
352
|
+
await job.remove();
|
|
353
|
+
}
|
|
227
354
|
}
|
|
228
355
|
}
|
|
229
356
|
/* Scheduler storage methods */
|
|
230
357
|
async schedule(jobDefinition, schedulerOptions) {
|
|
231
358
|
const jobId = typeof jobDefinition === "string" ? jobDefinition : jobDefinition.jobId;
|
|
359
|
+
if ("cron" in schedulerOptions && "interval" in schedulerOptions) {
|
|
360
|
+
throw new Error(`Unable to register a job with both scheduler options interval and cron.`);
|
|
361
|
+
}
|
|
362
|
+
const repeatOptions = {
|
|
363
|
+
limit: schedulerOptions.numberOfExecutions,
|
|
364
|
+
key: `${JobType.SCHEDULE}_${jobId}`,
|
|
365
|
+
};
|
|
366
|
+
if ("cron" in schedulerOptions) {
|
|
367
|
+
repeatOptions.pattern = schedulerOptions.cron;
|
|
368
|
+
}
|
|
369
|
+
else {
|
|
370
|
+
repeatOptions.every = schedulerOptions.interval;
|
|
371
|
+
}
|
|
232
372
|
// If it is the same key (eg. the same workflow name), the old one will get overridden.
|
|
233
|
-
await this.
|
|
373
|
+
await this.jobQueue?.add(JobType.SCHEDULE, {
|
|
234
374
|
jobId,
|
|
235
375
|
schedulerOptions,
|
|
236
376
|
}, {
|
|
237
|
-
repeat:
|
|
238
|
-
pattern: schedulerOptions.cron,
|
|
239
|
-
limit: schedulerOptions.numberOfExecutions,
|
|
240
|
-
key: `${JobType.SCHEDULE}_${jobId}`,
|
|
241
|
-
},
|
|
377
|
+
repeat: repeatOptions,
|
|
242
378
|
removeOnComplete: {
|
|
243
379
|
age: 86400,
|
|
244
380
|
count: 1000,
|
|
@@ -250,13 +386,123 @@ class RedisDistributedTransactionStorage {
|
|
|
250
386
|
});
|
|
251
387
|
}
|
|
252
388
|
async remove(jobId) {
|
|
253
|
-
await this.
|
|
389
|
+
await this.jobQueue?.removeRepeatableByKey(`${JobType.SCHEDULE}_${jobId}`);
|
|
254
390
|
}
|
|
255
391
|
async removeAll() {
|
|
256
|
-
|
|
257
|
-
|
|
392
|
+
return await this.removeAllRepeatableJobs(this.jobQueue);
|
|
393
|
+
}
|
|
394
|
+
async removeAllRepeatableJobs(queue) {
|
|
395
|
+
const repeatableJobs = (await queue.getRepeatableJobs()) ?? [];
|
|
396
|
+
await (0, utils_1.promiseAll)(repeatableJobs.map((job) => queue.removeRepeatableByKey(job.key)));
|
|
397
|
+
}
|
|
398
|
+
async clearExpiredExecutions() {
|
|
399
|
+
await this.workflowExecutionService_.delete({
|
|
400
|
+
retention_time: {
|
|
401
|
+
$ne: null,
|
|
402
|
+
},
|
|
403
|
+
updated_at: {
|
|
404
|
+
$lte: (0, core_1.raw)((alias) => `CURRENT_TIMESTAMP - (INTERVAL '1 second' * "retention_time")`),
|
|
405
|
+
},
|
|
406
|
+
state: {
|
|
407
|
+
$in: [
|
|
408
|
+
utils_1.TransactionState.DONE,
|
|
409
|
+
utils_1.TransactionState.FAILED,
|
|
410
|
+
utils_1.TransactionState.REVERTED,
|
|
411
|
+
],
|
|
412
|
+
},
|
|
413
|
+
});
|
|
258
414
|
}
|
|
259
415
|
}
|
|
260
416
|
exports.RedisDistributedTransactionStorage = RedisDistributedTransactionStorage;
|
|
261
|
-
|
|
417
|
+
_RedisDistributedTransactionStorage_isWorkerMode = new WeakMap(), _RedisDistributedTransactionStorage_instances = new WeakSet(), _RedisDistributedTransactionStorage_preventRaceConditionExecutionIfNecessary = async function _RedisDistributedTransactionStorage_preventRaceConditionExecutionIfNecessary({ data, key, options, }) {
|
|
418
|
+
const isInitialCheckpoint = [utils_1.TransactionState.NOT_STARTED].includes(data.flow.state);
|
|
419
|
+
/**
|
|
420
|
+
* In case many execution can succeed simultaneously, we need to ensure that the latest
|
|
421
|
+
* execution does continue if a previous execution is considered finished
|
|
422
|
+
*/
|
|
423
|
+
const currentFlow = data.flow;
|
|
424
|
+
const rawData = await this.redisClient.get(key);
|
|
425
|
+
let data_ = {};
|
|
426
|
+
if (rawData) {
|
|
427
|
+
data_ = JSON.parse(rawData);
|
|
428
|
+
}
|
|
429
|
+
else {
|
|
430
|
+
const getOptions = {
|
|
431
|
+
...options,
|
|
432
|
+
isCancelling: !!data.flow.cancelledAt,
|
|
433
|
+
};
|
|
434
|
+
data_ =
|
|
435
|
+
(await this.get(key, getOptions)) ??
|
|
436
|
+
{ flow: {} };
|
|
437
|
+
}
|
|
438
|
+
const { flow: latestUpdatedFlow } = data_;
|
|
439
|
+
if (!isInitialCheckpoint && !(0, utils_1.isPresent)(latestUpdatedFlow)) {
|
|
440
|
+
/**
|
|
441
|
+
* the initial checkpoint expect no other checkpoint to have been stored.
|
|
442
|
+
* In case it is not the initial one and another checkpoint is trying to
|
|
443
|
+
* find if a concurrent execution has finished, we skip the execution.
|
|
444
|
+
* The already finished execution would have deleted the checkpoint already.
|
|
445
|
+
*/
|
|
446
|
+
throw new orchestration_1.SkipExecutionError("Already finished by another execution");
|
|
447
|
+
}
|
|
448
|
+
// First ensure that the latest execution was not cancelled, otherwise we skip the execution
|
|
449
|
+
const latestTransactionCancelledAt = latestUpdatedFlow.cancelledAt;
|
|
450
|
+
const currentTransactionCancelledAt = currentFlow.cancelledAt;
|
|
451
|
+
if (!!latestTransactionCancelledAt &&
|
|
452
|
+
currentTransactionCancelledAt == null) {
|
|
453
|
+
throw new orchestration_1.SkipCancelledExecutionError("Workflow execution has been cancelled during the execution");
|
|
454
|
+
}
|
|
455
|
+
const currentFlowSteps = Object.values(currentFlow.steps || {});
|
|
456
|
+
const latestUpdatedFlowSteps = latestUpdatedFlow.steps
|
|
457
|
+
? Object.values(latestUpdatedFlow.steps)
|
|
458
|
+
: [];
|
|
459
|
+
// Predefined states for quick lookup
|
|
460
|
+
const invokingStates = [
|
|
461
|
+
utils_1.TransactionStepState.INVOKING,
|
|
462
|
+
utils_1.TransactionStepState.NOT_STARTED,
|
|
463
|
+
];
|
|
464
|
+
const compensatingStates = [
|
|
465
|
+
utils_1.TransactionStepState.COMPENSATING,
|
|
466
|
+
utils_1.TransactionStepState.NOT_STARTED,
|
|
467
|
+
];
|
|
468
|
+
const isInvokingState = (step) => invokingStates.includes(step.invoke?.state);
|
|
469
|
+
const isCompensatingState = (step) => compensatingStates.includes(step.compensate?.state);
|
|
470
|
+
const currentFlowLastInvokingStepIndex = currentFlowSteps.findIndex(isInvokingState);
|
|
471
|
+
const latestUpdatedFlowLastInvokingStepIndex = !latestUpdatedFlow.steps
|
|
472
|
+
? 1 // There is no other execution, so the current execution is the latest
|
|
473
|
+
: latestUpdatedFlowSteps.findIndex(isInvokingState);
|
|
474
|
+
const reversedCurrentFlowSteps = [...currentFlowSteps].reverse();
|
|
475
|
+
const currentFlowLastCompensatingStepIndex = reversedCurrentFlowSteps.findIndex(isCompensatingState);
|
|
476
|
+
const reversedLatestUpdatedFlowSteps = [...latestUpdatedFlowSteps].reverse();
|
|
477
|
+
const latestUpdatedFlowLastCompensatingStepIndex = !latestUpdatedFlow.steps
|
|
478
|
+
? -1
|
|
479
|
+
: reversedLatestUpdatedFlowSteps.findIndex(isCompensatingState);
|
|
480
|
+
const isLatestExecutionFinishedIndex = -1;
|
|
481
|
+
const invokeShouldBeSkipped = (latestUpdatedFlowLastInvokingStepIndex ===
|
|
482
|
+
isLatestExecutionFinishedIndex ||
|
|
483
|
+
currentFlowLastInvokingStepIndex <
|
|
484
|
+
latestUpdatedFlowLastInvokingStepIndex) &&
|
|
485
|
+
currentFlowLastInvokingStepIndex !== isLatestExecutionFinishedIndex;
|
|
486
|
+
const compensateShouldBeSkipped = currentFlowLastCompensatingStepIndex <
|
|
487
|
+
latestUpdatedFlowLastCompensatingStepIndex &&
|
|
488
|
+
currentFlowLastCompensatingStepIndex !== isLatestExecutionFinishedIndex &&
|
|
489
|
+
latestUpdatedFlowLastCompensatingStepIndex !==
|
|
490
|
+
isLatestExecutionFinishedIndex;
|
|
491
|
+
const isCompensatingMismatch = latestUpdatedFlow.state === utils_1.TransactionState.COMPENSATING &&
|
|
492
|
+
![utils_1.TransactionState.REVERTED, utils_1.TransactionState.FAILED].includes(currentFlow.state) &&
|
|
493
|
+
currentFlow.state !== latestUpdatedFlow.state;
|
|
494
|
+
const isRevertedMismatch = latestUpdatedFlow.state === utils_1.TransactionState.REVERTED &&
|
|
495
|
+
currentFlow.state !== utils_1.TransactionState.REVERTED;
|
|
496
|
+
const isFailedMismatch = latestUpdatedFlow.state === utils_1.TransactionState.FAILED &&
|
|
497
|
+
currentFlow.state !== utils_1.TransactionState.FAILED;
|
|
498
|
+
if ((data.flow.state !== utils_1.TransactionState.COMPENSATING &&
|
|
499
|
+
invokeShouldBeSkipped) ||
|
|
500
|
+
(data.flow.state === utils_1.TransactionState.COMPENSATING &&
|
|
501
|
+
compensateShouldBeSkipped) ||
|
|
502
|
+
isCompensatingMismatch ||
|
|
503
|
+
isRevertedMismatch ||
|
|
504
|
+
isFailedMismatch) {
|
|
505
|
+
throw new orchestration_1.SkipExecutionError("Already finished by another execution");
|
|
506
|
+
}
|
|
507
|
+
};
|
|
262
508
|
//# sourceMappingURL=workflow-orchestrator-storage.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"workflow-orchestrator-storage.js","sourceRoot":"","sources":["../../src/utils/workflow-orchestrator-storage.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"workflow-orchestrator-storage.js","sourceRoot":"","sources":["../../src/utils/workflow-orchestrator-storage.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@etohq/workflow-engine-redis",
|
|
3
|
-
"version": "1.
|
|
3
|
+
"version": "1.5.0",
|
|
4
4
|
"description": "Eto Workflow Orchestrator module using Redis to track workflows executions",
|
|
5
5
|
"main": "dist/index.js",
|
|
6
6
|
"types": "dist/index.d.ts",
|
|
@@ -24,10 +24,10 @@
|
|
|
24
24
|
"author": "Eto",
|
|
25
25
|
"license": "MIT",
|
|
26
26
|
"devDependencies": {
|
|
27
|
-
"@mikro-orm/cli": "
|
|
28
|
-
"@mikro-orm/core": "
|
|
29
|
-
"@mikro-orm/migrations": "
|
|
30
|
-
"@mikro-orm/postgresql": "
|
|
27
|
+
"@mikro-orm/cli": "6.4.3",
|
|
28
|
+
"@mikro-orm/core": "6.4.3",
|
|
29
|
+
"@mikro-orm/migrations": "6.4.3",
|
|
30
|
+
"@mikro-orm/postgresql": "6.4.3",
|
|
31
31
|
"@swc/core": "1.7.28",
|
|
32
32
|
"@swc/jest": "0.2.36",
|
|
33
33
|
"@types/jest": "29.5.14",
|
|
@@ -35,8 +35,8 @@
|
|
|
35
35
|
"rimraf": "5.0.2",
|
|
36
36
|
"tsc-alias": "1.8.6",
|
|
37
37
|
"typescript": "5.8.3",
|
|
38
|
-
"@etohq/test-utils": "1.
|
|
39
|
-
"@etohq/framework": "1.
|
|
38
|
+
"@etohq/test-utils": "1.5.0",
|
|
39
|
+
"@etohq/framework": "1.5.0"
|
|
40
40
|
},
|
|
41
41
|
"dependencies": {
|
|
42
42
|
"awilix": "8.0.1",
|
|
@@ -45,11 +45,11 @@
|
|
|
45
45
|
"ulid": "2.3.0"
|
|
46
46
|
},
|
|
47
47
|
"peerDependencies": {
|
|
48
|
-
"@mikro-orm/core": "
|
|
49
|
-
"@mikro-orm/migrations": "
|
|
50
|
-
"@mikro-orm/postgresql": "
|
|
48
|
+
"@mikro-orm/core": "6.4.3",
|
|
49
|
+
"@mikro-orm/migrations": "6.4.3",
|
|
50
|
+
"@mikro-orm/postgresql": "6.4.3",
|
|
51
51
|
"awilix": "8.0.1",
|
|
52
|
-
"@etohq/framework": "1.
|
|
52
|
+
"@etohq/framework": "1.5.0"
|
|
53
53
|
},
|
|
54
54
|
"scripts": {
|
|
55
55
|
"watch": "tsc --build --watch",
|