@effect/workflow 0.13.1 → 0.15.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/cjs/Activity.js +10 -5
- package/dist/cjs/Activity.js.map +1 -1
- package/dist/cjs/DurableQueue.js +27 -26
- package/dist/cjs/DurableQueue.js.map +1 -1
- package/dist/dts/Activity.d.ts +17 -3
- package/dist/dts/Activity.d.ts.map +1 -1
- package/dist/dts/DurableQueue.d.ts.map +1 -1
- package/dist/esm/Activity.js +9 -4
- package/dist/esm/Activity.js.map +1 -1
- package/dist/esm/DurableQueue.js +27 -26
- package/dist/esm/DurableQueue.js.map +1 -1
- package/package.json +4 -4
- package/src/Activity.ts +29 -9
- package/src/DurableQueue.ts +29 -31
package/dist/cjs/Activity.js
CHANGED
|
@@ -3,7 +3,7 @@
|
|
|
3
3
|
Object.defineProperty(exports, "__esModule", {
|
|
4
4
|
value: true
|
|
5
5
|
});
|
|
6
|
-
exports.retry = exports.raceAll = exports.make = exports.
|
|
6
|
+
exports.retry = exports.raceAll = exports.make = exports.idempotencyKey = exports.TypeId = exports.CurrentAttempt = void 0;
|
|
7
7
|
var Cause = _interopRequireWildcard(require("effect/Cause"));
|
|
8
8
|
var Context = _interopRequireWildcard(require("effect/Context"));
|
|
9
9
|
var Effect = _interopRequireWildcard(require("effect/Effect"));
|
|
@@ -76,13 +76,18 @@ class CurrentAttempt extends /*#__PURE__*/Context.Reference()("@effect/workflow/
|
|
|
76
76
|
}) {}
|
|
77
77
|
/**
|
|
78
78
|
* @since 1.0.0
|
|
79
|
-
* @category
|
|
79
|
+
* @category Idempotency
|
|
80
80
|
*/
|
|
81
81
|
exports.CurrentAttempt = CurrentAttempt;
|
|
82
|
-
const
|
|
82
|
+
const idempotencyKey = exports.idempotencyKey = /*#__PURE__*/Effect.fnUntraced(function* (name, options) {
|
|
83
83
|
const instance = yield* InstanceTag;
|
|
84
|
-
|
|
85
|
-
|
|
84
|
+
let key = `${instance.executionId}`;
|
|
85
|
+
if (options?.includeAttempt) {
|
|
86
|
+
const attempt = yield* CurrentAttempt;
|
|
87
|
+
key += `-${attempt}`;
|
|
88
|
+
}
|
|
89
|
+
key += `-${name}`;
|
|
90
|
+
return yield* (0, _crypto.makeHashDigest)(key);
|
|
86
91
|
});
|
|
87
92
|
/**
|
|
88
93
|
* @since 1.0.0
|
package/dist/cjs/Activity.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Activity.js","names":["Cause","_interopRequireWildcard","require","Context","Effect","Effectable","_Function","Schedule","Schema","DurableDeferred","_crypto","Workflow","e","t","WeakMap","r","n","__esModule","o","i","f","__proto__","default","has","get","set","hasOwnProperty","call","Object","defineProperty","getOwnPropertyDescriptor","TypeId","exports","Symbol","for","make","options","successSchema","success","Void","errorSchema","error","Never","execute","executeWithoutInterrupt","retryOnInterrupt","name","interruptRetryPolicy","self","CommitPrototype","exitSchema","ExitFromSelf","failure","defect","Defect","executeEncoded","matchEffect","onFailure","flatMap","orDie","encode","fail","onSuccess","value","commit","makeExecute","exponential","pipe","union","spaced","recurs","whileInput","cause","isInterrupted","policy","effect","sandbox","retry","catchAll","failCause","die","dual","suspend","attempt","provideService","CurrentAttempt","Reference","defaultValue","
|
|
1
|
+
{"version":3,"file":"Activity.js","names":["Cause","_interopRequireWildcard","require","Context","Effect","Effectable","_Function","Schedule","Schema","DurableDeferred","_crypto","Workflow","e","t","WeakMap","r","n","__esModule","o","i","f","__proto__","default","has","get","set","hasOwnProperty","call","Object","defineProperty","getOwnPropertyDescriptor","TypeId","exports","Symbol","for","make","options","successSchema","success","Void","errorSchema","error","Never","execute","executeWithoutInterrupt","retryOnInterrupt","name","interruptRetryPolicy","self","CommitPrototype","exitSchema","ExitFromSelf","failure","defect","Defect","executeEncoded","matchEffect","onFailure","flatMap","orDie","encode","fail","onSuccess","value","commit","makeExecute","exponential","pipe","union","spaced","recurs","whileInput","cause","isInterrupted","policy","effect","sandbox","retry","catchAll","failCause","die","dual","suspend","attempt","provideService","CurrentAttempt","Reference","defaultValue","idempotencyKey","fnUntraced","instance","InstanceTag","key","executionId","includeAttempt","makeHashDigest","raceAll","activities","Union","map","activity","effects","EngineTag","GenericTag","engine","annotateCurrentSpan","result","wrapActivityResult","activityExecute","_","_tag","exit","withSpan","captureStackTrace"],"sources":["../../src/Activity.ts"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
|
package/dist/cjs/DurableQueue.js
CHANGED
|
@@ -12,7 +12,6 @@ var Schedule = _interopRequireWildcard(require("effect/Schedule"));
|
|
|
12
12
|
var Schema = _interopRequireWildcard(require("effect/Schema"));
|
|
13
13
|
var Activity = _interopRequireWildcard(require("./Activity.js"));
|
|
14
14
|
var DurableDeferred = _interopRequireWildcard(require("./DurableDeferred.js"));
|
|
15
|
-
var _crypto = require("./internal/crypto.js");
|
|
16
15
|
function _interopRequireWildcard(e, t) { if ("function" == typeof WeakMap) var r = new WeakMap(), n = new WeakMap(); return (_interopRequireWildcard = function (e, t) { if (!t && e && e.__esModule) return e; var o, i, f = { __proto__: null, default: e }; if (null === e || "object" != typeof e && "function" != typeof e) return f; if (o = t ? n : r) { if (o.has(e)) return o.get(e); o.set(e, f); } for (const t in e) "default" !== t && {}.hasOwnProperty.call(e, t) && ((i = (o = Object.defineProperty) && Object.getOwnPropertyDescriptor(e, t)) && (i.get || i.set) ? o(f, t, i) : f[t] = e[t]); return f; })(e, t); }
|
|
17
16
|
/**
|
|
18
17
|
* @since 1.0.0
|
|
@@ -110,34 +109,36 @@ const getQueueSchema = payload => {
|
|
|
110
109
|
* @category Processing
|
|
111
110
|
*/
|
|
112
111
|
const process = exports.process = /*#__PURE__*/Effect.fnUntraced(function* (self, payload, options) {
|
|
113
|
-
const
|
|
114
|
-
const
|
|
112
|
+
const queueName = `DurableQueue/${self.name}`;
|
|
113
|
+
const queue = yield* PersistedQueue.make({
|
|
114
|
+
name: queueName,
|
|
115
|
+
schema: getQueueSchema(self.payloadSchema)
|
|
116
|
+
});
|
|
117
|
+
const id = yield* Activity.idempotencyKey(`${queueName}/${self.idempotencyKey(payload)}`);
|
|
118
|
+
const deferred = DurableDeferred.make(`${self.deferred.name}/${id}`, {
|
|
115
119
|
success: self.deferred.successSchema,
|
|
116
120
|
error: self.deferred.errorSchema
|
|
117
121
|
});
|
|
118
|
-
yield*
|
|
119
|
-
|
|
120
|
-
|
|
121
|
-
|
|
122
|
-
|
|
123
|
-
|
|
124
|
-
|
|
125
|
-
|
|
126
|
-
|
|
127
|
-
|
|
128
|
-
|
|
129
|
-
|
|
130
|
-
|
|
131
|
-
|
|
132
|
-
|
|
133
|
-
|
|
134
|
-
|
|
135
|
-
|
|
136
|
-
|
|
137
|
-
|
|
138
|
-
}));
|
|
139
|
-
})
|
|
140
|
-
});
|
|
122
|
+
const token = yield* DurableDeferred.token(deferred);
|
|
123
|
+
yield* Effect.useSpan(`DurableQueue/${self.name}/process`, {
|
|
124
|
+
captureStackTrace: false,
|
|
125
|
+
attributes: {
|
|
126
|
+
id
|
|
127
|
+
}
|
|
128
|
+
}, span => queue.offer({
|
|
129
|
+
token,
|
|
130
|
+
payload,
|
|
131
|
+
traceId: span.traceId,
|
|
132
|
+
spanId: span.spanId,
|
|
133
|
+
sampled: span.sampled
|
|
134
|
+
}, {
|
|
135
|
+
id
|
|
136
|
+
}).pipe(Effect.tapErrorCause(Effect.logWarning), Effect.catchTag("ParseError", Effect.die), Effect.retry(options?.retrySchedule ?? defaultRetrySchedule), Effect.orDie, Effect.annotateLogs({
|
|
137
|
+
package: "@effect/workflow",
|
|
138
|
+
module: "DurableQueue",
|
|
139
|
+
fiber: "process",
|
|
140
|
+
queueName: self.name
|
|
141
|
+
})));
|
|
141
142
|
return yield* DurableDeferred.await(deferred);
|
|
142
143
|
});
|
|
143
144
|
const defaultRetrySchedule = /*#__PURE__*/Schedule.exponential(500, 1.5).pipe(/*#__PURE__*/Schedule.union(/*#__PURE__*/Schedule.spaced("1 minute")));
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"DurableQueue.js","names":["PersistedQueue","_interopRequireWildcard","require","Context","Effect","Layer","Schedule","Schema","Activity","DurableDeferred","
|
|
1
|
+
{"version":3,"file":"DurableQueue.js","names":["PersistedQueue","_interopRequireWildcard","require","Context","Effect","Layer","Schedule","Schema","Activity","DurableDeferred","e","t","WeakMap","r","n","__esModule","o","i","f","__proto__","default","has","get","set","hasOwnProperty","call","Object","defineProperty","getOwnPropertyDescriptor","TypeId","exports","make","options","name","payloadSchema","isSchema","payload","Struct","idempotencyKey","deferred","success","error","queueSchemas","getQueueSchema","schema","token","String","traceId","spanId","sampled","Boolean","process","fnUntraced","self","queueName","queue","id","successSchema","errorSchema","useSpan","captureStackTrace","attributes","span","offer","pipe","tapErrorCause","logWarning","catchTag","die","retry","retrySchedule","defaultRetrySchedule","orDie","annotateLogs","package","module","fiber","await","exponential","union","spaced","makeWorker","concurrency","worker","take","item_","item","exit","flatMap","done","asVoid","withSpan","parent","_tag","context","empty","catchAllCause","forever","replicateEffect","discard","never","scopedDiscard","forkScoped"],"sources":["../../src/DurableQueue.ts"],"sourcesContent":[null],"mappings":";;;;;;AAGA,IAAAA,cAAA,GAAAC,uBAAA,CAAAC,OAAA;AACA,IAAAC,OAAA,GAAAF,uBAAA,CAAAC,OAAA;AACA,IAAAE,MAAA,GAAAH,uBAAA,CAAAC,OAAA;AACA,IAAAG,KAAA,GAAAJ,uBAAA,CAAAC,OAAA;AACA,IAAAI,QAAA,GAAAL,uBAAA,CAAAC,OAAA;AACA,IAAAK,MAAA,GAAAN,uBAAA,CAAAC,OAAA;AACA,IAAAM,QAAA,GAAAP,uBAAA,CAAAC,OAAA;AACA,IAAAO,eAAA,GAAAR,uBAAA,CAAAC,OAAA;AAAuD,SAAAD,wBAAAS,CAAA,EAAAC,CAAA,6BAAAC,OAAA,MAAAC,CAAA,OAAAD,OAAA,IAAAE,CAAA,OAAAF,OAAA,YAAAX,uBAAA,YAAAA,CAAAS,CAAA,EAAAC,CAAA,SAAAA,CAAA,IAAAD,CAAA,IAAAA,CAAA,CAAAK,UAAA,SAAAL,CAAA,MAAAM,CAAA,EAAAC,CAAA,EAAAC,CAAA,KAAAC,SAAA,QAAAC,OAAA,EAAAV,CAAA,iBAAAA,CAAA,uBAAAA,CAAA,yBAAAA,CAAA,SAAAQ,CAAA,MAAAF,CAAA,GAAAL,CAAA,GAAAG,CAAA,GAAAD,CAAA,QAAAG,CAAA,CAAAK,GAAA,CAAAX,CAAA,UAAAM,CAAA,CAAAM,GAAA,CAAAZ,CAAA,GAAAM,CAAA,CAAAO,GAAA,CAAAb,CAAA,EAAAQ,CAAA,gBAAAP,CAAA,IAAAD,CAAA,gBAAAC,CAAA,OAAAa,cAAA,CAAAC,IAAA,CAAAf,CAAA,EAAAC,CAAA,OAAAM,CAAA,IAAAD,CAAA,GAAAU,MAAA,CAAAC,cAAA,KAAAD,MAAA,CAAAE,wBAAA,CAAAlB,CAAA,EAAAC,CAAA,OAAAM,CAAA,CAAAK,GAAA,IAAAL,CAAA,CAAAM,GAAA,IAAAP,CAAA,CAAAE,CAAA,EAAAP,CAAA,EAAAM,CAAA,IAAAC,CAAA,CAAAP,CAAA,IAAAD,CAAA,CAAAC,CAAA,WAAAO,CAAA,KAAAR,CAAA,EAAAC,CAAA;AAVvD;;;;AAmBA;;;;AAIO,MAAMkB,MAAM,GAAAC,OAAA,CAAAD,MAAA,GAAW,gCAAgC;AAkB9D;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAwDO,MAAME,IAAI,GAKfC,OAQC,KAKG;EACJ,CAACH,MAAM,GAAGA,MAAM;EAChBI,IAAI,EAAED,OAAO,CAACC,IAAI;EAClBC,aAAa,EAAE3B,MAAM,CAAC4B,QAAQ,CAACH,OAAO,CAACI,OAAO,CAAC,GAAGJ,OAAO,CAACI,OAAO,GAAG7B,MAAM,CAAC8B,MAAM,CAACL,OAAO,CAACI,OAAO,CAAQ;EACzGE,cAAc,EAAEN,OAAO,CAACM,cAAqB;EAC7CC,QAAQ,EAAE9B,eAAe,CAACsB,IAAI,CAAC,gBAAgBC,OAAO,CAACC,IAAI,EAAE,EAAE;IAC7DO,OAAO,EAAER,OAAO,CAACQ,OAAO;IACxBC,KAAK,EAAET,OAAO,CAACS;GAChB;CACF,CAAC;AAAAX,OAAA,CAAAC,IAAA,GAAAA,IAAA;AAEF,MAAMW,YAAY,gBAAG,IAAI9B,OAAO,EAAwC;AACxE,MAAM+B,cAAc,GAClBP,OAAgB,IAOb;EACH,IAAIQ,MAAM,GAAGF,YAAY,CAACpB,GAAG,CAACc,OAAO,CAAC;EACtC,IAAI,CAACQ,MAAM,EAAE;IACXA,MAAM,GAAGrC,MAAM,CAAC8B,MAAM,CAAC;MACrBQ,KAAK,EAAEtC,MAAM,CAACuC,MAAM;MACpBC,OAAO,EAAExC,MAAM,CAACuC,MAAM;MACtBE,MAAM,EAAEzC,MAAM,CAACuC,MAAM;MACrBG,OAAO,EAAE1C,MAAM,CAAC2C,OAAO;MACvBd;KACD,CAAC;IACFM,YAAY,CAACnB,GAAG,CAACa,OAAO,EAAEQ,MAAM,CAAC;EACnC;EACA,OAAOA,MAAa;AACtB,CAAC;AAED;;;;AAIO,MAAMO,OAAO,GAAArB,OAAA,CAAAqB,OAAA,gBAmBhB/C,MAAM,CAACgD,UAAU,CAAC,WAIpBC,IAA2C,EAAEjB,OAAwB,EAAEJ,OAExE;EACC,MAAMsB,SAAS,GAAG,gBAAgBD,IAAI,CAACpB,IAAI,EAAE;EAC7C,MAAMsB,KAAK,GAAG,OAAOvD,cAAc,CAAC+B,IAAI,CAAC;IACvCE,IAAI,EAAEqB,SAAS;IACfV,MAAM,EAAED,cAAc,CAACU,IAAI,CAACnB,aAAa;GAC1C,CAAC;EACF,MAAMsB,EAAE,GAAG,OAAOhD,QAAQ,CAAC8B,cAAc,CAAC,GAAGgB,SAAS,IAAID,IAAI,CAACf,cAAc,CAACF,OAAO,CAAC,EAAE,CAAC;EAEzF,MAAMG,QAAQ,GAAG9B,eAAe,CAACsB,IAAI,CAAC,GAAGsB,IAAI,CAACd,QAAQ,CAACN,IAAI,IAAIuB,EAAE,EAAE,EAAE;IACnEhB,OAAO,EAAEa,IAAI,CAACd,QAAQ,CAACkB,aAAa;IACpChB,KAAK,EAAEY,IAAI,CAACd,QAAQ,CAACmB;GACtB,CAAC;EACF,MAAMb,KAAK,GAAG,OAAOpC,eAAe,CAACoC,KAAK,CAACN,QAAQ,CAAC;EAEpD,OAAOnC,MAAM,CAACuD,OAAO,CAAC,gBAAgBN,IAAI,CAACpB,IAAI,UAAU,EAAE;IACzD2B,iBAAiB,EAAE,KAAK;IACxBC,UAAU,EAAE;MAAEL;IAAE;GACjB,EAAGM,IAAI,IACNP,KAAK,CAACQ,KAAK,CAAC;IACVlB,KAAK;IACLT,OAAO;IACPW,OAAO,EAAEe,IAAI,CAACf,OAAO;IACrBC,MAAM,EAAEc,IAAI,CAACd,MAAM;IACnBC,OAAO,EAAEa,IAAI,CAACb;GACR,EAAE;IAAEO;EAAE,CAAE,CAAC,CAACQ,IAAI,CACpB5D,MAAM,CAAC6D,aAAa,CAAC7D,MAAM,CAAC8D,UAAU,CAAC,EACvC9D,MAAM,CAAC+D,QAAQ,CAAC,YAAY,EAAE/D,MAAM,CAACgE,GAAG,CAAC,EACzChE,MAAM,CAACiE,KAAK,CAACrC,OAAO,EAAEsC,aAAa,IAAIC,oBAAoB,CAAC,EAC5DnE,MAAM,CAACoE,KAAK,EACZpE,MAAM,CAACqE,YAAY,CAAC;IAClBC,OAAO,EAAE,kBAAkB;IAC3BC,MAAM,EAAE,cAAc;IACtBC,KAAK,EAAE,SAAS;IAChBtB,SAAS,EAAED,IAAI,CAACpB;GACjB,CAAC,CACH,CAAC;EAEJ,OAAO,OAAOxB,eAAe,CAACoE,KAAK,CAACtC,QAAQ,CAAC;AAC/C,CAAC,CAAC;AAEF,MAAMgC,oBAAoB,gBAAGjE,QAAQ,CAACwE,WAAW,CAAC,GAAG,EAAE,GAAG,CAAC,CAACd,IAAI,cAC9D1D,QAAQ,CAACyE,KAAK,cAACzE,QAAQ,CAAC0E,MAAM,CAAC,UAAU,CAAC,CAAC,CAC5C;AAED;;;;AAIO,MAAMC,UAAU,GAAAnD,OAAA,CAAAmD,UAAA,gBAkBnB7E,MAAM,CAACgD,UAAU,CAAC,WAMpBC,IAA2C,EAC3CnC,CAAiF,EACjFc,OAEC;EAED,MAAMuB,KAAK,GAAG,OAAOvD,cAAc,CAAC+B,IAAI,CAAC;IACvCE,IAAI,EAAE,gBAAgBoB,IAAI,CAACpB,IAAI,EAAE;IACjCW,MAAM,EAAED,cAAc,CAACU,IAAI,CAACnB,aAAa;GAC1C,CAAC;EACF,MAAMgD,WAAW,GAAGlD,OAAO,EAAEkD,WAAW,IAAI,CAAC;EAE7C,MAAMC,MAAM,GAAG5B,KAAK,CAAC6B,IAAI,CAAEC,KAAK,IAAI;IAClC,MAAMC,IAAI,GAAGD,KAMZ;IACD,OAAOnE,CAAC,CAACoE,IAAI,CAAClD,OAAO,CAAC,CAAC4B,IAAI,CACzB5D,MAAM,CAACmF,IAAI,EACXnF,MAAM,CAACoF,OAAO,CAAED,IAAI,IAClB9E,eAAe,CAACgF,IAAI,CAACpC,IAAI,CAACd,QAAQ,EAAE;MAClCM,KAAK,EAAEyC,IAAI,CAACzC,KAAK;MACjB0C;KACD,CAAC,CACH,EACDnF,MAAM,CAACsF,MAAM,EACbtF,MAAM,CAACuF,QAAQ,CAAC,gBAAgBtC,IAAI,CAACpB,IAAI,SAAS,EAAE;MAClD2B,iBAAiB,EAAE,KAAK;MACxBgC,MAAM,EAAE;QACNC,IAAI,EAAE,cAAc;QACpB9C,OAAO,EAAEuC,IAAI,CAACvC,OAAO;QACrBC,MAAM,EAAEsC,IAAI,CAACtC,MAAM;QACnBC,OAAO,EAAEqC,IAAI,CAACrC,OAAO;QACrB6C,OAAO,EAAE3F,OAAO,CAAC4F,KAAK;;KAEzB,CAAC,CACH;EACH,CAAC,CAAC,CAAC/B,IAAI,CACL5D,MAAM,CAAC4F,aAAa,CAAC5F,MAAM,CAAC8D,UAAU,CAAC,EACvC9D,MAAM,CAAC6F,OAAO,EACd7F,MAAM,CAACqE,YAAY,CAAC;IAClBC,OAAO,EAAE,kBAAkB;IAC3BC,MAAM,EAAE,cAAc;IACtBC,KAAK,EAAE;GACR,CAAC,CACH;EAED,OAAOxE,MAAM,CAAC8F,eAAe,CAACf,MAAM,EAAED,WAAW,EAAE;IAAEA,WAAW;IAAEiB,OAAO,EAAE;EAAI,CAAE,CAAC;EAClF,OAAO,OAAO/F,MAAM,CAACgG,KAAK;AAC5B,CAAC,CAAC;AAEF;;;;AAIO,MAAMjB,MAAM,GAoBfA,CAAC9B,IAAI,EAAEnC,CAAC,EAAEc,OAAO,KAAK3B,KAAK,CAACgG,aAAa,CAACjG,MAAM,CAACkG,UAAU,CAACrB,UAAU,CAAC5B,IAAI,EAAEnC,CAAC,EAAEc,OAAO,CAAC,CAAC,CAAC;AAAAF,OAAA,CAAAqD,MAAA,GAAAA,MAAA","ignoreList":[]}
|
package/dist/dts/Activity.d.ts
CHANGED
|
@@ -9,6 +9,7 @@ import type * as Exit from "effect/Exit";
|
|
|
9
9
|
import * as Schedule from "effect/Schedule";
|
|
10
10
|
import * as Schema from "effect/Schema";
|
|
11
11
|
import type { Scope } from "effect/Scope";
|
|
12
|
+
import type * as Types from "effect/Types";
|
|
12
13
|
import type { WorkflowEngine, WorkflowInstance } from "./WorkflowEngine.js";
|
|
13
14
|
/**
|
|
14
15
|
* @since 1.0.0
|
|
@@ -60,7 +61,18 @@ export declare const make: <R, Success extends Schema.Schema.Any = typeof Schema
|
|
|
60
61
|
* @since 1.0.0
|
|
61
62
|
* @category Error handling
|
|
62
63
|
*/
|
|
63
|
-
export declare const retry:
|
|
64
|
+
export declare const retry: {
|
|
65
|
+
/**
|
|
66
|
+
* @since 1.0.0
|
|
67
|
+
* @category Error handling
|
|
68
|
+
*/
|
|
69
|
+
<E, O extends Types.NoExcessProperties<Omit<Effect.Retry.Options<E>, "schedule">, O>>(options: O): <A, R>(self: Effect.Effect<A, E, R>) => Effect.Retry.Return<R, E, A, O>;
|
|
70
|
+
/**
|
|
71
|
+
* @since 1.0.0
|
|
72
|
+
* @category Error handling
|
|
73
|
+
*/
|
|
74
|
+
<A, E, R, O extends Types.NoExcessProperties<Omit<Effect.Retry.Options<E>, "schedule">, O>>(self: Effect.Effect<A, E, R>, options: O): Effect.Retry.Return<R, E, A, O>;
|
|
75
|
+
};
|
|
64
76
|
declare const CurrentAttempt_base: Context.ReferenceClass<CurrentAttempt, "@effect/workflow/Activity/CurrentAttempt", number>;
|
|
65
77
|
/**
|
|
66
78
|
* @since 1.0.0
|
|
@@ -70,9 +82,11 @@ export declare class CurrentAttempt extends CurrentAttempt_base {
|
|
|
70
82
|
}
|
|
71
83
|
/**
|
|
72
84
|
* @since 1.0.0
|
|
73
|
-
* @category
|
|
85
|
+
* @category Idempotency
|
|
74
86
|
*/
|
|
75
|
-
export declare const
|
|
87
|
+
export declare const idempotencyKey: (name: string, options?: {
|
|
88
|
+
readonly includeAttempt?: boolean | undefined;
|
|
89
|
+
} | undefined) => Effect.Effect<string, never, WorkflowInstance>;
|
|
76
90
|
/**
|
|
77
91
|
* @since 1.0.0
|
|
78
92
|
* @category Racing
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Activity.d.ts","sourceRoot":"","sources":["../../src/Activity.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,cAAc,CAAA;AACzD,OAAO,KAAK,KAAK,MAAM,cAAc,CAAA;AACrC,OAAO,KAAK,OAAO,MAAM,gBAAgB,CAAA;AACzC,OAAO,KAAK,MAAM,MAAM,eAAe,CAAA;AAEvC,OAAO,KAAK,KAAK,IAAI,MAAM,aAAa,CAAA;AAExC,OAAO,KAAK,QAAQ,MAAM,iBAAiB,CAAA;AAC3C,OAAO,KAAK,MAAM,MAAM,eAAe,CAAA;AACvC,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,cAAc,CAAA;
|
|
1
|
+
{"version":3,"file":"Activity.d.ts","sourceRoot":"","sources":["../../src/Activity.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"DurableQueue.d.ts","sourceRoot":"","sources":["../../src/DurableQueue.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,OAAO,KAAK,cAAc,MAAM,qCAAqC,CAAA;AAErE,OAAO,KAAK,MAAM,MAAM,eAAe,CAAA;AACvC,OAAO,KAAK,KAAK,MAAM,cAAc,CAAA;AACrC,OAAO,KAAK,QAAQ,MAAM,iBAAiB,CAAA;AAC3C,OAAO,KAAK,MAAM,MAAM,eAAe,CAAA;AAEvC,OAAO,KAAK,eAAe,MAAM,sBAAsB,CAAA;
|
|
1
|
+
{"version":3,"file":"DurableQueue.d.ts","sourceRoot":"","sources":["../../src/DurableQueue.ts"],"names":[],"mappings":"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"}
|
package/dist/esm/Activity.js
CHANGED
|
@@ -68,12 +68,17 @@ export class CurrentAttempt extends /*#__PURE__*/Context.Reference()("@effect/wo
|
|
|
68
68
|
}) {}
|
|
69
69
|
/**
|
|
70
70
|
* @since 1.0.0
|
|
71
|
-
* @category
|
|
71
|
+
* @category Idempotency
|
|
72
72
|
*/
|
|
73
|
-
export const
|
|
73
|
+
export const idempotencyKey = /*#__PURE__*/Effect.fnUntraced(function* (name, options) {
|
|
74
74
|
const instance = yield* InstanceTag;
|
|
75
|
-
|
|
76
|
-
|
|
75
|
+
let key = `${instance.executionId}`;
|
|
76
|
+
if (options?.includeAttempt) {
|
|
77
|
+
const attempt = yield* CurrentAttempt;
|
|
78
|
+
key += `-${attempt}`;
|
|
79
|
+
}
|
|
80
|
+
key += `-${name}`;
|
|
81
|
+
return yield* makeHashDigest(key);
|
|
77
82
|
});
|
|
78
83
|
/**
|
|
79
84
|
* @since 1.0.0
|
package/dist/esm/Activity.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Activity.js","names":["Cause","Context","Effect","Effectable","dual","Schedule","Schema","DurableDeferred","makeHashDigest","Workflow","TypeId","Symbol","for","make","options","successSchema","success","Void","errorSchema","error","Never","execute","executeWithoutInterrupt","retryOnInterrupt","name","interruptRetryPolicy","self","CommitPrototype","exitSchema","ExitFromSelf","failure","defect","Defect","executeEncoded","matchEffect","onFailure","flatMap","orDie","encode","fail","onSuccess","value","commit","makeExecute","exponential","pipe","union","spaced","recurs","whileInput","cause","isInterrupted","policy","effect","sandbox","retry","catchAll","failCause","die","suspend","attempt","provideService","CurrentAttempt","Reference","defaultValue","
|
|
1
|
+
{"version":3,"file":"Activity.js","names":["Cause","Context","Effect","Effectable","dual","Schedule","Schema","DurableDeferred","makeHashDigest","Workflow","TypeId","Symbol","for","make","options","successSchema","success","Void","errorSchema","error","Never","execute","executeWithoutInterrupt","retryOnInterrupt","name","interruptRetryPolicy","self","CommitPrototype","exitSchema","ExitFromSelf","failure","defect","Defect","executeEncoded","matchEffect","onFailure","flatMap","orDie","encode","fail","onSuccess","value","commit","makeExecute","exponential","pipe","union","spaced","recurs","whileInput","cause","isInterrupted","policy","effect","sandbox","retry","catchAll","failCause","die","suspend","attempt","provideService","CurrentAttempt","Reference","defaultValue","idempotencyKey","fnUntraced","instance","InstanceTag","key","executionId","includeAttempt","raceAll","activities","Union","map","activity","effects","EngineTag","GenericTag","engine","annotateCurrentSpan","result","wrapActivityResult","activityExecute","_","_tag","exit","withSpan","captureStackTrace"],"sources":["../../src/Activity.ts"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
|
package/dist/esm/DurableQueue.js
CHANGED
|
@@ -9,7 +9,6 @@ import * as Schedule from "effect/Schedule";
|
|
|
9
9
|
import * as Schema from "effect/Schema";
|
|
10
10
|
import * as Activity from "./Activity.js";
|
|
11
11
|
import * as DurableDeferred from "./DurableDeferred.js";
|
|
12
|
-
import { makeHashDigest } from "./internal/crypto.js";
|
|
13
12
|
/**
|
|
14
13
|
* @since 1.0.0
|
|
15
14
|
* @category Type IDs
|
|
@@ -101,34 +100,36 @@ const getQueueSchema = payload => {
|
|
|
101
100
|
* @category Processing
|
|
102
101
|
*/
|
|
103
102
|
export const process = /*#__PURE__*/Effect.fnUntraced(function* (self, payload, options) {
|
|
104
|
-
const
|
|
105
|
-
const
|
|
103
|
+
const queueName = `DurableQueue/${self.name}`;
|
|
104
|
+
const queue = yield* PersistedQueue.make({
|
|
105
|
+
name: queueName,
|
|
106
|
+
schema: getQueueSchema(self.payloadSchema)
|
|
107
|
+
});
|
|
108
|
+
const id = yield* Activity.idempotencyKey(`${queueName}/${self.idempotencyKey(payload)}`);
|
|
109
|
+
const deferred = DurableDeferred.make(`${self.deferred.name}/${id}`, {
|
|
106
110
|
success: self.deferred.successSchema,
|
|
107
111
|
error: self.deferred.errorSchema
|
|
108
112
|
});
|
|
109
|
-
yield*
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
|
|
121
|
-
|
|
122
|
-
|
|
123
|
-
|
|
124
|
-
|
|
125
|
-
|
|
126
|
-
|
|
127
|
-
|
|
128
|
-
|
|
129
|
-
}));
|
|
130
|
-
})
|
|
131
|
-
});
|
|
113
|
+
const token = yield* DurableDeferred.token(deferred);
|
|
114
|
+
yield* Effect.useSpan(`DurableQueue/${self.name}/process`, {
|
|
115
|
+
captureStackTrace: false,
|
|
116
|
+
attributes: {
|
|
117
|
+
id
|
|
118
|
+
}
|
|
119
|
+
}, span => queue.offer({
|
|
120
|
+
token,
|
|
121
|
+
payload,
|
|
122
|
+
traceId: span.traceId,
|
|
123
|
+
spanId: span.spanId,
|
|
124
|
+
sampled: span.sampled
|
|
125
|
+
}, {
|
|
126
|
+
id
|
|
127
|
+
}).pipe(Effect.tapErrorCause(Effect.logWarning), Effect.catchTag("ParseError", Effect.die), Effect.retry(options?.retrySchedule ?? defaultRetrySchedule), Effect.orDie, Effect.annotateLogs({
|
|
128
|
+
package: "@effect/workflow",
|
|
129
|
+
module: "DurableQueue",
|
|
130
|
+
fiber: "process",
|
|
131
|
+
queueName: self.name
|
|
132
|
+
})));
|
|
132
133
|
return yield* DurableDeferred.await(deferred);
|
|
133
134
|
});
|
|
134
135
|
const defaultRetrySchedule = /*#__PURE__*/Schedule.exponential(500, 1.5).pipe(/*#__PURE__*/Schedule.union(/*#__PURE__*/Schedule.spaced("1 minute")));
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"DurableQueue.js","names":["PersistedQueue","Context","Effect","Layer","Schedule","Schema","Activity","DurableDeferred","
|
|
1
|
+
{"version":3,"file":"DurableQueue.js","names":["PersistedQueue","Context","Effect","Layer","Schedule","Schema","Activity","DurableDeferred","TypeId","make","options","name","payloadSchema","isSchema","payload","Struct","idempotencyKey","deferred","success","error","queueSchemas","WeakMap","getQueueSchema","schema","get","token","String","traceId","spanId","sampled","Boolean","set","process","fnUntraced","self","queueName","queue","id","successSchema","errorSchema","useSpan","captureStackTrace","attributes","span","offer","pipe","tapErrorCause","logWarning","catchTag","die","retry","retrySchedule","defaultRetrySchedule","orDie","annotateLogs","package","module","fiber","await","exponential","union","spaced","makeWorker","f","concurrency","worker","take","item_","item","exit","flatMap","done","asVoid","withSpan","parent","_tag","context","empty","catchAllCause","forever","replicateEffect","discard","never","scopedDiscard","forkScoped"],"sources":["../../src/DurableQueue.ts"],"sourcesContent":[null],"mappings":"AAAA;;;AAGA,OAAO,KAAKA,cAAc,MAAM,qCAAqC;AACrE,OAAO,KAAKC,OAAO,MAAM,gBAAgB;AACzC,OAAO,KAAKC,MAAM,MAAM,eAAe;AACvC,OAAO,KAAKC,KAAK,MAAM,cAAc;AACrC,OAAO,KAAKC,QAAQ,MAAM,iBAAiB;AAC3C,OAAO,KAAKC,MAAM,MAAM,eAAe;AACvC,OAAO,KAAKC,QAAQ,MAAM,eAAe;AACzC,OAAO,KAAKC,eAAe,MAAM,sBAAsB;AASvD;;;;AAIA,OAAO,MAAMC,MAAM,GAAW,gCAAgC;AAkB9D;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAwDA,OAAO,MAAMC,IAAI,GAKfC,OAQC,KAKG;EACJ,CAACF,MAAM,GAAGA,MAAM;EAChBG,IAAI,EAAED,OAAO,CAACC,IAAI;EAClBC,aAAa,EAAEP,MAAM,CAACQ,QAAQ,CAACH,OAAO,CAACI,OAAO,CAAC,GAAGJ,OAAO,CAACI,OAAO,GAAGT,MAAM,CAACU,MAAM,CAACL,OAAO,CAACI,OAAO,CAAQ;EACzGE,cAAc,EAAEN,OAAO,CAACM,cAAqB;EAC7CC,QAAQ,EAAEV,eAAe,CAACE,IAAI,CAAC,gBAAgBC,OAAO,CAACC,IAAI,EAAE,EAAE;IAC7DO,OAAO,EAAER,OAAO,CAACQ,OAAO;IACxBC,KAAK,EAAET,OAAO,CAACS;GAChB;CACF,CAAC;AAEF,MAAMC,YAAY,gBAAG,IAAIC,OAAO,EAAwC;AACxE,MAAMC,cAAc,GAClBR,OAAgB,IAOb;EACH,IAAIS,MAAM,GAAGH,YAAY,CAACI,GAAG,CAACV,OAAO,CAAC;EACtC,IAAI,CAACS,MAAM,EAAE;IACXA,MAAM,GAAGlB,MAAM,CAACU,MAAM,CAAC;MACrBU,KAAK,EAAEpB,MAAM,CAACqB,MAAM;MACpBC,OAAO,EAAEtB,MAAM,CAACqB,MAAM;MACtBE,MAAM,EAAEvB,MAAM,CAACqB,MAAM;MACrBG,OAAO,EAAExB,MAAM,CAACyB,OAAO;MACvBhB;KACD,CAAC;IACFM,YAAY,CAACW,GAAG,CAACjB,OAAO,EAAES,MAAM,CAAC;EACnC;EACA,OAAOA,MAAa;AACtB,CAAC;AAED;;;;AAIA,OAAO,MAAMS,OAAO,gBAmBhB9B,MAAM,CAAC+B,UAAU,CAAC,WAIpBC,IAA2C,EAAEpB,OAAwB,EAAEJ,OAExE;EACC,MAAMyB,SAAS,GAAG,gBAAgBD,IAAI,CAACvB,IAAI,EAAE;EAC7C,MAAMyB,KAAK,GAAG,OAAOpC,cAAc,CAACS,IAAI,CAAC;IACvCE,IAAI,EAAEwB,SAAS;IACfZ,MAAM,EAAED,cAAc,CAACY,IAAI,CAACtB,aAAa;GAC1C,CAAC;EACF,MAAMyB,EAAE,GAAG,OAAO/B,QAAQ,CAACU,cAAc,CAAC,GAAGmB,SAAS,IAAID,IAAI,CAAClB,cAAc,CAACF,OAAO,CAAC,EAAE,CAAC;EAEzF,MAAMG,QAAQ,GAAGV,eAAe,CAACE,IAAI,CAAC,GAAGyB,IAAI,CAACjB,QAAQ,CAACN,IAAI,IAAI0B,EAAE,EAAE,EAAE;IACnEnB,OAAO,EAAEgB,IAAI,CAACjB,QAAQ,CAACqB,aAAa;IACpCnB,KAAK,EAAEe,IAAI,CAACjB,QAAQ,CAACsB;GACtB,CAAC;EACF,MAAMd,KAAK,GAAG,OAAOlB,eAAe,CAACkB,KAAK,CAACR,QAAQ,CAAC;EAEpD,OAAOf,MAAM,CAACsC,OAAO,CAAC,gBAAgBN,IAAI,CAACvB,IAAI,UAAU,EAAE;IACzD8B,iBAAiB,EAAE,KAAK;IACxBC,UAAU,EAAE;MAAEL;IAAE;GACjB,EAAGM,IAAI,IACNP,KAAK,CAACQ,KAAK,CAAC;IACVnB,KAAK;IACLX,OAAO;IACPa,OAAO,EAAEgB,IAAI,CAAChB,OAAO;IACrBC,MAAM,EAAEe,IAAI,CAACf,MAAM;IACnBC,OAAO,EAAEc,IAAI,CAACd;GACR,EAAE;IAAEQ;EAAE,CAAE,CAAC,CAACQ,IAAI,CACpB3C,MAAM,CAAC4C,aAAa,CAAC5C,MAAM,CAAC6C,UAAU,CAAC,EACvC7C,MAAM,CAAC8C,QAAQ,CAAC,YAAY,EAAE9C,MAAM,CAAC+C,GAAG,CAAC,EACzC/C,MAAM,CAACgD,KAAK,CAACxC,OAAO,EAAEyC,aAAa,IAAIC,oBAAoB,CAAC,EAC5DlD,MAAM,CAACmD,KAAK,EACZnD,MAAM,CAACoD,YAAY,CAAC;IAClBC,OAAO,EAAE,kBAAkB;IAC3BC,MAAM,EAAE,cAAc;IACtBC,KAAK,EAAE,SAAS;IAChBtB,SAAS,EAAED,IAAI,CAACvB;GACjB,CAAC,CACH,CAAC;EAEJ,OAAO,OAAOJ,eAAe,CAACmD,KAAK,CAACzC,QAAQ,CAAC;AAC/C,CAAC,CAAC;AAEF,MAAMmC,oBAAoB,gBAAGhD,QAAQ,CAACuD,WAAW,CAAC,GAAG,EAAE,GAAG,CAAC,CAACd,IAAI,cAC9DzC,QAAQ,CAACwD,KAAK,cAACxD,QAAQ,CAACyD,MAAM,CAAC,UAAU,CAAC,CAAC,CAC5C;AAED;;;;AAIA,OAAO,MAAMC,UAAU,gBAkBnB5D,MAAM,CAAC+B,UAAU,CAAC,WAMpBC,IAA2C,EAC3C6B,CAAiF,EACjFrD,OAEC;EAED,MAAM0B,KAAK,GAAG,OAAOpC,cAAc,CAACS,IAAI,CAAC;IACvCE,IAAI,EAAE,gBAAgBuB,IAAI,CAACvB,IAAI,EAAE;IACjCY,MAAM,EAAED,cAAc,CAACY,IAAI,CAACtB,aAAa;GAC1C,CAAC;EACF,MAAMoD,WAAW,GAAGtD,OAAO,EAAEsD,WAAW,IAAI,CAAC;EAE7C,MAAMC,MAAM,GAAG7B,KAAK,CAAC8B,IAAI,CAAEC,KAAK,IAAI;IAClC,MAAMC,IAAI,GAAGD,KAMZ;IACD,OAAOJ,CAAC,CAACK,IAAI,CAACtD,OAAO,CAAC,CAAC+B,IAAI,CACzB3C,MAAM,CAACmE,IAAI,EACXnE,MAAM,CAACoE,OAAO,CAAED,IAAI,IAClB9D,eAAe,CAACgE,IAAI,CAACrC,IAAI,CAACjB,QAAQ,EAAE;MAClCQ,KAAK,EAAE2C,IAAI,CAAC3C,KAAK;MACjB4C;KACD,CAAC,CACH,EACDnE,MAAM,CAACsE,MAAM,EACbtE,MAAM,CAACuE,QAAQ,CAAC,gBAAgBvC,IAAI,CAACvB,IAAI,SAAS,EAAE;MAClD8B,iBAAiB,EAAE,KAAK;MACxBiC,MAAM,EAAE;QACNC,IAAI,EAAE,cAAc;QACpBhD,OAAO,EAAEyC,IAAI,CAACzC,OAAO;QACrBC,MAAM,EAAEwC,IAAI,CAACxC,MAAM;QACnBC,OAAO,EAAEuC,IAAI,CAACvC,OAAO;QACrB+C,OAAO,EAAE3E,OAAO,CAAC4E,KAAK;;KAEzB,CAAC,CACH;EACH,CAAC,CAAC,CAAChC,IAAI,CACL3C,MAAM,CAAC4E,aAAa,CAAC5E,MAAM,CAAC6C,UAAU,CAAC,EACvC7C,MAAM,CAAC6E,OAAO,EACd7E,MAAM,CAACoD,YAAY,CAAC;IAClBC,OAAO,EAAE,kBAAkB;IAC3BC,MAAM,EAAE,cAAc;IACtBC,KAAK,EAAE;GACR,CAAC,CACH;EAED,OAAOvD,MAAM,CAAC8E,eAAe,CAACf,MAAM,EAAED,WAAW,EAAE;IAAEA,WAAW;IAAEiB,OAAO,EAAE;EAAI,CAAE,CAAC;EAClF,OAAO,OAAO/E,MAAM,CAACgF,KAAK;AAC5B,CAAC,CAAC;AAEF;;;;AAIA,OAAO,MAAMjB,MAAM,GAoBfA,CAAC/B,IAAI,EAAE6B,CAAC,EAAErD,OAAO,KAAKP,KAAK,CAACgF,aAAa,CAACjF,MAAM,CAACkF,UAAU,CAACtB,UAAU,CAAC5B,IAAI,EAAE6B,CAAC,EAAErD,OAAO,CAAC,CAAC,CAAC","ignoreList":[]}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@effect/workflow",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.15.0",
|
|
4
4
|
"description": "Durable workflows for Effect",
|
|
5
5
|
"license": "MIT",
|
|
6
6
|
"repository": {
|
|
@@ -12,9 +12,9 @@
|
|
|
12
12
|
"homepage": "https://effect.website",
|
|
13
13
|
"peerDependencies": {
|
|
14
14
|
"effect": "^3.19.8",
|
|
15
|
-
"@effect/experimental": "^0.57.
|
|
16
|
-
"@effect/
|
|
17
|
-
"@effect/
|
|
15
|
+
"@effect/experimental": "^0.57.9",
|
|
16
|
+
"@effect/rpc": "^0.72.2",
|
|
17
|
+
"@effect/platform": "^0.93.6"
|
|
18
18
|
},
|
|
19
19
|
"publishConfig": {
|
|
20
20
|
"provenance": true
|
package/src/Activity.ts
CHANGED
|
@@ -11,6 +11,7 @@ import { dual } from "effect/Function"
|
|
|
11
11
|
import * as Schedule from "effect/Schedule"
|
|
12
12
|
import * as Schema from "effect/Schema"
|
|
13
13
|
import type { Scope } from "effect/Scope"
|
|
14
|
+
import type * as Types from "effect/Types"
|
|
14
15
|
import * as DurableDeferred from "./DurableDeferred.js"
|
|
15
16
|
import { makeHashDigest } from "./internal/crypto.js"
|
|
16
17
|
import * as Workflow from "./Workflow.js"
|
|
@@ -148,7 +149,18 @@ const retryOnInterrupt = (
|
|
|
148
149
|
* @since 1.0.0
|
|
149
150
|
* @category Error handling
|
|
150
151
|
*/
|
|
151
|
-
export const retry:
|
|
152
|
+
export const retry: {
|
|
153
|
+
/**
|
|
154
|
+
* @since 1.0.0
|
|
155
|
+
* @category Error handling
|
|
156
|
+
*/
|
|
157
|
+
<E, O extends Types.NoExcessProperties<Omit<Effect.Retry.Options<E>, "schedule">, O>>(options: O): <A, R>(self: Effect.Effect<A, E, R>) => Effect.Retry.Return<R, E, A, O>
|
|
158
|
+
/**
|
|
159
|
+
* @since 1.0.0
|
|
160
|
+
* @category Error handling
|
|
161
|
+
*/
|
|
162
|
+
<A, E, R, O extends Types.NoExcessProperties<Omit<Effect.Retry.Options<E>, "schedule">, O>>(self: Effect.Effect<A, E, R>, options: O): Effect.Retry.Return<R, E, A, O>
|
|
163
|
+
} = dual(
|
|
152
164
|
2,
|
|
153
165
|
(effect: Effect.Effect<any, any, any>, options: {}) =>
|
|
154
166
|
Effect.suspend(() => {
|
|
@@ -169,16 +181,24 @@ export class CurrentAttempt extends Context.Reference<CurrentAttempt>()("@effect
|
|
|
169
181
|
|
|
170
182
|
/**
|
|
171
183
|
* @since 1.0.0
|
|
172
|
-
* @category
|
|
184
|
+
* @category Idempotency
|
|
173
185
|
*/
|
|
174
|
-
export const
|
|
175
|
-
string,
|
|
176
|
-
|
|
177
|
-
|
|
178
|
-
|
|
186
|
+
export const idempotencyKey: (
|
|
187
|
+
name: string,
|
|
188
|
+
options?: {
|
|
189
|
+
readonly includeAttempt?: boolean | undefined
|
|
190
|
+
} | undefined
|
|
191
|
+
) => Effect.Effect<string, never, WorkflowInstance> = Effect.fnUntraced(function*(name: string, options?: {
|
|
192
|
+
readonly includeAttempt?: boolean | undefined
|
|
193
|
+
}) {
|
|
179
194
|
const instance = yield* InstanceTag
|
|
180
|
-
|
|
181
|
-
|
|
195
|
+
let key = `${instance.executionId}`
|
|
196
|
+
if (options?.includeAttempt) {
|
|
197
|
+
const attempt = yield* CurrentAttempt
|
|
198
|
+
key += `-${attempt}`
|
|
199
|
+
}
|
|
200
|
+
key += `-${name}`
|
|
201
|
+
return yield* makeHashDigest(key)
|
|
182
202
|
})
|
|
183
203
|
|
|
184
204
|
/**
|
package/src/DurableQueue.ts
CHANGED
|
@@ -9,7 +9,6 @@ import * as Schedule from "effect/Schedule"
|
|
|
9
9
|
import * as Schema from "effect/Schema"
|
|
10
10
|
import * as Activity from "./Activity.js"
|
|
11
11
|
import * as DurableDeferred from "./DurableDeferred.js"
|
|
12
|
-
import { makeHashDigest } from "./internal/crypto.js"
|
|
13
12
|
import type * as WorkflowEngine from "./WorkflowEngine.js"
|
|
14
13
|
|
|
15
14
|
/**
|
|
@@ -179,42 +178,41 @@ export const process: <
|
|
|
179
178
|
>(self: DurableQueue<Payload, Success, Error>, payload: Payload["Type"], options?: {
|
|
180
179
|
readonly retrySchedule?: Schedule.Schedule<any, PersistedQueue.PersistedQueueError> | undefined
|
|
181
180
|
}) {
|
|
182
|
-
const
|
|
181
|
+
const queueName = `DurableQueue/${self.name}`
|
|
182
|
+
const queue = yield* PersistedQueue.make({
|
|
183
|
+
name: queueName,
|
|
184
|
+
schema: getQueueSchema(self.payloadSchema)
|
|
185
|
+
})
|
|
186
|
+
const id = yield* Activity.idempotencyKey(`${queueName}/${self.idempotencyKey(payload)}`)
|
|
183
187
|
|
|
184
|
-
const deferred = DurableDeferred.make(`${self.deferred.name}/${
|
|
188
|
+
const deferred = DurableDeferred.make(`${self.deferred.name}/${id}`, {
|
|
185
189
|
success: self.deferred.successSchema,
|
|
186
190
|
error: self.deferred.errorSchema
|
|
187
191
|
})
|
|
192
|
+
const token = yield* DurableDeferred.token(deferred)
|
|
188
193
|
|
|
189
|
-
yield*
|
|
190
|
-
|
|
191
|
-
|
|
192
|
-
|
|
193
|
-
|
|
194
|
-
|
|
195
|
-
|
|
194
|
+
yield* Effect.useSpan(`DurableQueue/${self.name}/process`, {
|
|
195
|
+
captureStackTrace: false,
|
|
196
|
+
attributes: { id }
|
|
197
|
+
}, (span) =>
|
|
198
|
+
queue.offer({
|
|
199
|
+
token,
|
|
200
|
+
payload,
|
|
201
|
+
traceId: span.traceId,
|
|
202
|
+
spanId: span.spanId,
|
|
203
|
+
sampled: span.sampled
|
|
204
|
+
} as any, { id }).pipe(
|
|
205
|
+
Effect.tapErrorCause(Effect.logWarning),
|
|
206
|
+
Effect.catchTag("ParseError", Effect.die),
|
|
207
|
+
Effect.retry(options?.retrySchedule ?? defaultRetrySchedule),
|
|
208
|
+
Effect.orDie,
|
|
209
|
+
Effect.annotateLogs({
|
|
210
|
+
package: "@effect/workflow",
|
|
211
|
+
module: "DurableQueue",
|
|
212
|
+
fiber: "process",
|
|
213
|
+
queueName: self.name
|
|
196
214
|
})
|
|
197
|
-
|
|
198
|
-
yield* queue.offer({
|
|
199
|
-
token,
|
|
200
|
-
payload,
|
|
201
|
-
traceId: span.traceId,
|
|
202
|
-
spanId: span.spanId,
|
|
203
|
-
sampled: span.sampled
|
|
204
|
-
} as any).pipe(
|
|
205
|
-
Effect.tapErrorCause(Effect.logWarning),
|
|
206
|
-
Effect.catchTag("ParseError", Effect.die),
|
|
207
|
-
Effect.retry(options?.retrySchedule ?? defaultRetrySchedule),
|
|
208
|
-
Effect.orDie,
|
|
209
|
-
Effect.annotateLogs({
|
|
210
|
-
package: "@effect/workflow",
|
|
211
|
-
module: "DurableQueue",
|
|
212
|
-
fiber: "process",
|
|
213
|
-
queueName: self.name
|
|
214
|
-
})
|
|
215
|
-
)
|
|
216
|
-
})
|
|
217
|
-
})
|
|
215
|
+
))
|
|
218
216
|
|
|
219
217
|
return yield* DurableDeferred.await(deferred)
|
|
220
218
|
})
|