@effect-app/infra 1.32.0 → 1.32.2
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/CHANGELOG.md +16 -0
- package/_cjs/services/QueueMaker/SQLQueue.cjs +3 -6
- package/_cjs/services/QueueMaker/SQLQueue.cjs.map +1 -1
- package/dist/RequestContext.d.ts.map +1 -1
- package/dist/logger.d.ts.map +1 -1
- package/dist/services/QueueMaker/SQLQueue.d.ts +1 -1
- package/dist/services/QueueMaker/SQLQueue.d.ts.map +1 -1
- package/dist/services/QueueMaker/SQLQueue.js +7 -7
- package/dist/services/Repository/ext.d.ts +3 -3
- package/package.json +5 -5
- package/src/services/QueueMaker/SQLQueue.ts +9 -5
package/CHANGELOG.md
CHANGED
|
@@ -1,5 +1,21 @@
|
|
|
1
1
|
# @effect-app/infra
|
|
2
2
|
|
|
3
|
+
## 1.32.2
|
|
4
|
+
|
|
5
|
+
### Patch Changes
|
|
6
|
+
|
|
7
|
+
- bf7d8df: improve: silence sql tracing for drain
|
|
8
|
+
|
|
9
|
+
## 1.32.1
|
|
10
|
+
|
|
11
|
+
### Patch Changes
|
|
12
|
+
|
|
13
|
+
- Updated dependencies [61eb517]
|
|
14
|
+
- @effect-app/core@1.13.1
|
|
15
|
+
- @effect-app/infra-adapters@1.16.1
|
|
16
|
+
- effect-app@1.24.1
|
|
17
|
+
- @effect-app/schema@1.16.1
|
|
18
|
+
|
|
3
19
|
## 1.32.0
|
|
4
20
|
|
|
5
21
|
### Minor Changes
|
|
@@ -58,13 +58,10 @@ function makeSQLQueue(queueName, queueDrainName, schema, drainSchema) {
|
|
|
58
58
|
versionColumn: "etag"
|
|
59
59
|
});
|
|
60
60
|
const decodeDrain = _effectApp.S.decode(Drain);
|
|
61
|
-
const drain = () =>
|
|
62
|
-
const limit = (0, _dateFns.subMinutes)(new Date(), 15);
|
|
63
|
-
return sql`SELECT *
|
|
61
|
+
const drain = _effectApp.Effect.sync(() => (0, _dateFns.subMinutes)(new Date(), 15)).pipe(_effectApp.Effect.andThen(limit => sql`SELECT *
|
|
64
62
|
FROM queue
|
|
65
63
|
WHERE name = ${queueDrainName} AND finishedAt IS NULL AND (processingAt IS NULL OR processingAt < ${limit.getTime()})
|
|
66
|
-
LIMIT 1
|
|
67
|
-
};
|
|
64
|
+
LIMIT 1`));
|
|
68
65
|
const q = {
|
|
69
66
|
offer: (body, meta) => _effectApp.Effect.gen(function* () {
|
|
70
67
|
yield* queueRepo.insertVoid(Queue.insert.make({
|
|
@@ -78,7 +75,7 @@ function makeSQLQueue(queueName, queueDrainName, schema, drainSchema) {
|
|
|
78
75
|
}),
|
|
79
76
|
take: _effectApp.Effect.gen(function* () {
|
|
80
77
|
while (true) {
|
|
81
|
-
const [first] = yield* drain();
|
|
78
|
+
const [first] = yield* drain.pipe(_effectApp.Effect.withTracerEnabled(false)); // disable sql tracer otherwise we spam it..
|
|
82
79
|
if (first) {
|
|
83
80
|
const dec = yield* decodeDrain(first);
|
|
84
81
|
const {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"SQLQueue.cjs","names":["_SQL","require","_setupRequest","_RequestContext","_errors","_service","_RequestContextContainer","_sql","_crypto","_dateFns","_effectApp","_ids","_schema","_utils","_logger","QueueId","exports","S","Number","pipe","brand","makeSQLQueue","queueName","queueDrainName","schema","drainSchema","Effect","gen","base","id","Model","Generated","meta","JsonFromString","QueueMeta","name","NonEmptyString255","createdAt","DateTimeInsert","updatedAt","DateTimeUpdate","processingAt","FieldOption","Date","finishedAt","etag","String","Queue","Class","body","Drain","sql","SqlClient","queueRepo","makeRepository","tableName","spanPrefix","idColumn","versionColumn","drainRepo","decodeDrain","decode","drain","
|
|
1
|
+
{"version":3,"file":"SQLQueue.cjs","names":["_SQL","require","_setupRequest","_RequestContext","_errors","_service","_RequestContextContainer","_sql","_crypto","_dateFns","_effectApp","_ids","_schema","_utils","_logger","QueueId","exports","S","Number","pipe","brand","makeSQLQueue","queueName","queueDrainName","schema","drainSchema","Effect","gen","base","id","Model","Generated","meta","JsonFromString","QueueMeta","name","NonEmptyString255","createdAt","DateTimeInsert","updatedAt","DateTimeUpdate","processingAt","FieldOption","Date","finishedAt","etag","String","Queue","Class","body","Drain","sql","SqlClient","queueRepo","makeRepository","tableName","spanPrefix","idColumn","versionColumn","drainRepo","decodeDrain","decode","drain","sync","subMinutes","andThen","limit","getTime","q","offer","insertVoid","insert","make","Option","none","randomUUID","take","first","withTracerEnabled","dec","rest","update","some","sleep","finish","updateVoid","rcc","RequestContextContainer","publish","messages","requestContext","span","serviceOption","Tracer","ParentSpan","forEach","m","RequestContext","getOrUndefined","discard","withSpan","captureStackTrace","kind","attributes","map","_","_tag","handleEvent","sessionId","silenceAndReportError","reportNonInterruptedFailure","processMessage","msg","succeed","flatMap","effect","InfraLogger","logInfo","annotateLogs","pretty","zipRight","setupRequestContext","inherit","RequestId","locale","withParentSpan","externalSpan","x","uninterruptible","fork","Fiber","join","tap","forever"],"sources":["../../../src/services/QueueMaker/SQLQueue.ts"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"RequestContext.d.ts","sourceRoot":"","sources":["../src/RequestContext.ts"],"names":[],"mappings":"AAAA,OAAO,EAAuB,iBAAiB,EAAE,MAAM,oBAAoB,CAAA;AAC3E,OAAO,EAAE,CAAC,EAAE,MAAM,YAAY,CAAA;AAG9B,eAAO,MAAM,MAAM,yBAAwB,CAAA;AAC3C,MAAM,MAAM,MAAM,GAAG,OAAO,MAAM,CAAC,IAAI,CAAA;;;;;;
|
|
1
|
+
{"version":3,"file":"RequestContext.d.ts","sourceRoot":"","sources":["../src/RequestContext.ts"],"names":[],"mappings":"AAAA,OAAO,EAAuB,iBAAiB,EAAE,MAAM,oBAAoB,CAAA;AAC3E,OAAO,EAAE,CAAC,EAAE,MAAM,YAAY,CAAA;AAG9B,eAAO,MAAM,MAAM,yBAAwB,CAAA;AAC3C,MAAM,MAAM,MAAM,GAAG,OAAO,MAAM,CAAC,IAAI,CAAA;;;;;;uBAW5B,iBAAiB,iBAIzB,sBAAqB;;;uBAKV,iBACL,iBACP,sBAAsB;;;;;;2BAaN,iBAAiB;;;2BAcG,iBAAiB;;;;;;;;;;;;;;AA9CvD,qBAAa,oBAAqB,SAAQ,yBASxC;CAAG;;;;;;;uBADM,iBAAiB,iBAIzB,sBAAqB;;;uBAKV,iBACL,iBACP,sBAAsB;;;;;;;;;;;2BAaN,iBAAiB;;;2BAcG,iBAAiB;;;;;;;;;;;;;;;;AAnCvD;;;GAGG;AACH,qBAAa,cAAe,SAAQ,mBAgBlC;IAEA,MAAM,CAAC,OAAO,CACZ,IAAI,EAAE,IAAI,EACV,MAAM,EAAE,cAAc,EACtB,OAAO,EAAE,qBAAqB,CAAC,OAAO,oBAAoB,CAAC,CAAC,CAAC,CAAC;IAUhE,MAAM,CAAC,YAAY,CAAC,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,cAAc;;;;;;CASrD;AAED,eAAO,MAAM,cAAc,QAAS,cAAc;;;;;;;;;CAkBhD,CAAA;AAKF,yBAAiB,oBAAoB,CAAC;IACpC,UAAiB,IAAK,SAAQ,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,OAAO,oBAAoB,CAAC,QAAQ,CAAC,CAAC;KAAG;CACzF;AACD,yBAAiB,cAAc,CAAC;IAC9B,UAAiB,IAAK,SAAQ,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,OAAO,cAAc,CAAC,QAAQ,CAAC,CAAC;KAAG;CACnF"}
|
package/dist/logger.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"logger.d.ts","sourceRoot":"","sources":["../src/logger.ts"],"names":[],"mappings":"AAEA,eAAO,MAAM,WAAW;
|
|
1
|
+
{"version":3,"file":"logger.d.ts","sourceRoot":"","sources":["../src/logger.ts"],"names":[],"mappings":"AAEA,eAAO,MAAM,WAAW;iBACoH,GAAG;eAAkF,GAAG;eAAkF,GAAG;cAAiF,GAAG;eAAkF,GAAG;CADna,CAAA"}
|
|
@@ -15,5 +15,5 @@ export declare function makeSQLQueue<Evt extends {
|
|
|
15
15
|
}, EvtE, DrainEvtE>(queueName: NonEmptyString255, queueDrainName: NonEmptyString255, schema: S.Schema<Evt, EvtE>, drainSchema: S.Schema<DrainEvt, DrainEvtE>): Effect.Effect<{
|
|
16
16
|
publish: (messages_0: Evt, ...messages: Evt[]) => Effect.Effect<void, never, never>;
|
|
17
17
|
drain: <DrainE, DrainR>(handleEvent: (ks: DrainEvt) => Effect<void, DrainE, DrainR>, sessionId?: string) => Effect.Effect<never, never, RequestContextContainer | import("../Store/ContextMapContainer.js").ContextMapContainer | Exclude<Exclude<Exclude<Exclude<DrainR, Tracer.ParentSpan>, never>, Tracer.ParentSpan>, Tracer.ParentSpan>>;
|
|
18
|
-
}, never, SqlClient.SqlClient
|
|
18
|
+
}, never, RequestContextContainer | SqlClient.SqlClient>;
|
|
19
19
|
//# sourceMappingURL=SQLQueue.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"SQLQueue.d.ts","sourceRoot":"","sources":["../../../src/services/QueueMaker/SQLQueue.ts"],"names":[],"mappings":"AAMA,OAAO,EAAE,uBAAuB,EAAE,MAAM,oDAAoD,CAAA;AAC5F,OAAO,EAAE,SAAS,EAAE,MAAM,aAAa,CAAA;AAGvC,OAAO,EAAE,MAAM,EAAiB,CAAC,EAAE,MAAM,EAAE,MAAM,YAAY,CAAA;AAE7D,OAAO,EAAE,iBAAiB,EAAE,MAAM,mBAAmB,CAAA;AAIrD,eAAO,MAAM,OAAO;;aAAoC,CAAA;AACxD,MAAM,MAAM,OAAO,GAAG,OAAO,OAAO,CAAC,IAAI,CAAA;AAGzC,wBAAgB,YAAY,CAC1B,GAAG,SAAS;IAAE,EAAE,EAAE,CAAC,CAAC,QAAQ,CAAC;IAAC,IAAI,EAAE,MAAM,CAAA;CAAE,EAC5C,QAAQ,SAAS;IAAE,EAAE,EAAE,CAAC,CAAC,QAAQ,CAAC;IAAC,IAAI,EAAE,MAAM,CAAA;CAAE,EACjD,IAAI,EACJ,SAAS,EAET,SAAS,EAAE,iBAAiB,EAC5B,cAAc,EAAE,iBAAiB,EACjC,MAAM,EAAE,CAAC,CAAC,MAAM,CAAC,GAAG,EAAE,IAAI,CAAC,EAC3B,WAAW,EAAE,CAAC,CAAC,MAAM,CAAC,QAAQ,EAAE,SAAS,CAAC;;
|
|
1
|
+
{"version":3,"file":"SQLQueue.d.ts","sourceRoot":"","sources":["../../../src/services/QueueMaker/SQLQueue.ts"],"names":[],"mappings":"AAMA,OAAO,EAAE,uBAAuB,EAAE,MAAM,oDAAoD,CAAA;AAC5F,OAAO,EAAE,SAAS,EAAE,MAAM,aAAa,CAAA;AAGvC,OAAO,EAAE,MAAM,EAAiB,CAAC,EAAE,MAAM,EAAE,MAAM,YAAY,CAAA;AAE7D,OAAO,EAAE,iBAAiB,EAAE,MAAM,mBAAmB,CAAA;AAIrD,eAAO,MAAM,OAAO;;aAAoC,CAAA;AACxD,MAAM,MAAM,OAAO,GAAG,OAAO,OAAO,CAAC,IAAI,CAAA;AAGzC,wBAAgB,YAAY,CAC1B,GAAG,SAAS;IAAE,EAAE,EAAE,CAAC,CAAC,QAAQ,CAAC;IAAC,IAAI,EAAE,MAAM,CAAA;CAAE,EAC5C,QAAQ,SAAS;IAAE,EAAE,EAAE,CAAC,CAAC,QAAQ,CAAC;IAAC,IAAI,EAAE,MAAM,CAAA;CAAE,EACjD,IAAI,EACJ,SAAS,EAET,SAAS,EAAE,iBAAiB,EAC5B,cAAc,EAAE,iBAAiB,EACjC,MAAM,EAAE,CAAC,CAAC,MAAM,CAAC,GAAG,EAAE,IAAI,CAAC,EAC3B,WAAW,EAAE,CAAC,CAAC,MAAM,CAAC,QAAQ,EAAE,SAAS,CAAC;;YAiH9B,MAAM,EAAE,MAAM,eACP,CAAC,EAAE,EAAE,QAAQ,KAAK,MAAM,CAAC,IAAI,EAAE,MAAM,EAAE,MAAM,CAAC,cAC/C,MAAM;yDAiEzB"}
|
|
@@ -53,13 +53,13 @@ export function makeSQLQueue(queueName, queueDrainName, schema, drainSchema) {
|
|
|
53
53
|
versionColumn: "etag"
|
|
54
54
|
});
|
|
55
55
|
const decodeDrain = S.decode(Drain);
|
|
56
|
-
const drain =
|
|
57
|
-
|
|
58
|
-
|
|
56
|
+
const drain = Effect
|
|
57
|
+
.sync(() => subMinutes(new Date(), 15))
|
|
58
|
+
.pipe(Effect
|
|
59
|
+
.andThen((limit) => sql `SELECT *
|
|
59
60
|
FROM queue
|
|
60
61
|
WHERE name = ${queueDrainName} AND finishedAt IS NULL AND (processingAt IS NULL OR processingAt < ${limit.getTime()})
|
|
61
|
-
LIMIT 1
|
|
62
|
-
};
|
|
62
|
+
LIMIT 1`));
|
|
63
63
|
const q = {
|
|
64
64
|
offer: (body, meta) => Effect.gen(function* () {
|
|
65
65
|
yield* queueRepo.insertVoid(Queue.insert.make({
|
|
@@ -73,7 +73,7 @@ export function makeSQLQueue(queueName, queueDrainName, schema, drainSchema) {
|
|
|
73
73
|
}),
|
|
74
74
|
take: Effect.gen(function* () {
|
|
75
75
|
while (true) {
|
|
76
|
-
const [first] = yield* drain();
|
|
76
|
+
const [first] = yield* drain.pipe(Effect.withTracerEnabled(false)); // disable sql tracer otherwise we spam it..
|
|
77
77
|
if (first) {
|
|
78
78
|
const dec = yield* decodeDrain(first);
|
|
79
79
|
const { createdAt, updatedAt, ...rest } = dec;
|
|
@@ -146,4 +146,4 @@ export function makeSQLQueue(queueName, queueDrainName, schema, drainSchema) {
|
|
|
146
146
|
};
|
|
147
147
|
});
|
|
148
148
|
}
|
|
149
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
149
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiU1FMUXVldWUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvc2VydmljZXMvUXVldWVNYWtlci9TUUxRdWV1ZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsS0FBSyxFQUFFLE1BQU0sZ0NBQWdDLENBQUE7QUFDdEQsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0sb0NBQW9DLENBQUE7QUFDeEUsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLGtDQUFrQyxDQUFBO0FBQ2pFLE9BQU8sRUFBRSwyQkFBMkIsRUFBRSxNQUFNLDhDQUE4QyxDQUFBO0FBRTFGLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSwrQ0FBK0MsQ0FBQTtBQUN6RSxPQUFPLEVBQUUsdUJBQXVCLEVBQUUsTUFBTSxvREFBb0QsQ0FBQTtBQUM1RixPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sYUFBYSxDQUFBO0FBQ3ZDLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxRQUFRLENBQUE7QUFDbkMsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLFVBQVUsQ0FBQTtBQUNyQyxPQUFPLEVBQUUsTUFBTSxFQUFFLEtBQUssRUFBRSxNQUFNLEVBQUUsQ0FBQyxFQUFFLE1BQU0sRUFBRSxNQUFNLFlBQVksQ0FBQTtBQUM3RCxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sZ0JBQWdCLENBQUE7QUFDMUMsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sbUJBQW1CLENBQUE7QUFDckQsT0FBTyxFQUFFLE1BQU0sRUFBRSxNQUFNLGtCQUFrQixDQUFBO0FBQ3pDLE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQTtBQUU3QyxNQUFNLENBQUMsTUFBTSxPQUFPLEdBQUcsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFBO0FBR3hELG9GQUFvRjtBQUNwRixNQUFNLFVB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
|
|
@@ -39,7 +39,7 @@ export declare function handleByIdAndSaveWithPure<T extends {
|
|
|
39
39
|
id: string;
|
|
40
40
|
}, Evt, ItemType extends string>(self: RepositoryBaseC<T, Encoded, Evt, ItemType>): <Req extends {
|
|
41
41
|
id: T["id"];
|
|
42
|
-
}, Context, R, A, E, S2 extends T>(pure: (req: Req, ctx: Context) => Effect<A, E, FixEnv<R, Evt, T, S2>>) => (req: Req, ctx: Context) => Effect.Effect<A, import("effect-app/client/errors").OptimisticConcurrencyException |
|
|
42
|
+
}, Context, R, A, E, S2 extends T>(pure: (req: Req, ctx: Context) => Effect<A, E, FixEnv<R, Evt, T, S2>>) => (req: Req, ctx: Context) => Effect.Effect<A, import("effect-app/client/errors").OptimisticConcurrencyException | import("effect-app/client/errors").InvalidStateError | E | NotFoundError<ItemType>, Exclude<R, {
|
|
43
43
|
env: import("effect-app/Pure").PureEnv<Evt, T, S2>;
|
|
44
44
|
}>>;
|
|
45
45
|
/**
|
|
@@ -49,7 +49,7 @@ export declare function saveManyWithPure_<R, T extends {
|
|
|
49
49
|
id: unknown;
|
|
50
50
|
}, Encoded extends {
|
|
51
51
|
id: string;
|
|
52
|
-
}, A, E, Evt, S1 extends T, S2 extends T, ItemType extends string>(self: RepositoryBaseC<T, Encoded, Evt, ItemType>, items: Iterable<S1>, pure: Effect<A, E, FixEnv<R, Evt, readonly S1[], readonly S2[]>>): Effect.Effect<A, import("effect-app/client/errors").OptimisticConcurrencyException |
|
|
52
|
+
}, A, E, Evt, S1 extends T, S2 extends T, ItemType extends string>(self: RepositoryBaseC<T, Encoded, Evt, ItemType>, items: Iterable<S1>, pure: Effect<A, E, FixEnv<R, Evt, readonly S1[], readonly S2[]>>): Effect.Effect<A, import("effect-app/client/errors").OptimisticConcurrencyException | import("effect-app/client/errors").InvalidStateError | E, Exclude<R, {
|
|
53
53
|
env: import("effect-app/Pure").PureEnv<Evt, readonly S1[], readonly S2[]>;
|
|
54
54
|
}>>;
|
|
55
55
|
/**
|
|
@@ -66,7 +66,7 @@ export declare function saveAllWithEffectInt<T extends {
|
|
|
66
66
|
id: unknown;
|
|
67
67
|
}, Encoded extends {
|
|
68
68
|
id: string;
|
|
69
|
-
}, P extends T, Evt, ItemType extends string, R, E, A>(self: RepositoryBaseC<T, Encoded, Evt, ItemType>, gen: Effect<readonly [Iterable<P>, Iterable<Evt>, A], E, R>): Effect.Effect<A, import("effect-app/client/errors").OptimisticConcurrencyException |
|
|
69
|
+
}, P extends T, Evt, ItemType extends string, R, E, A>(self: RepositoryBaseC<T, Encoded, Evt, ItemType>, gen: Effect<readonly [Iterable<P>, Iterable<Evt>, A], E, R>): Effect.Effect<A, import("effect-app/client/errors").OptimisticConcurrencyException | import("effect-app/client/errors").InvalidStateError | E, R>;
|
|
70
70
|
/**
|
|
71
71
|
* @tsplus fluent Repository saveManyWithPureBatched
|
|
72
72
|
*/
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@effect-app/infra",
|
|
3
|
-
"version": "1.32.
|
|
3
|
+
"version": "1.32.2",
|
|
4
4
|
"license": "MIT",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"dependencies": {
|
|
@@ -20,10 +20,10 @@
|
|
|
20
20
|
"proper-lockfile": "^4.1.2",
|
|
21
21
|
"pure-rand": "6.1.0",
|
|
22
22
|
"redlock": "^4.2.0",
|
|
23
|
-
"@effect-app/
|
|
24
|
-
"@effect-app/
|
|
25
|
-
"@effect-app/schema": "1.16.
|
|
26
|
-
"effect-app": "1.24.
|
|
23
|
+
"@effect-app/infra-adapters": "1.16.1",
|
|
24
|
+
"@effect-app/core": "1.13.1",
|
|
25
|
+
"@effect-app/schema": "1.16.1",
|
|
26
|
+
"effect-app": "1.24.1"
|
|
27
27
|
},
|
|
28
28
|
"devDependencies": {
|
|
29
29
|
"@babel/cli": "^7.25.7",
|
|
@@ -69,13 +69,17 @@ export function makeSQLQueue<
|
|
|
69
69
|
|
|
70
70
|
const decodeDrain = S.decode(Drain)
|
|
71
71
|
|
|
72
|
-
const drain =
|
|
73
|
-
|
|
74
|
-
|
|
72
|
+
const drain = Effect
|
|
73
|
+
.sync(() => subMinutes(new Date(), 15))
|
|
74
|
+
.pipe(
|
|
75
|
+
Effect
|
|
76
|
+
.andThen((limit) =>
|
|
77
|
+
sql<typeof Drain.Encoded>`SELECT *
|
|
75
78
|
FROM queue
|
|
76
79
|
WHERE name = ${queueDrainName} AND finishedAt IS NULL AND (processingAt IS NULL OR processingAt < ${limit.getTime()})
|
|
77
80
|
LIMIT 1`
|
|
78
|
-
|
|
81
|
+
)
|
|
82
|
+
)
|
|
79
83
|
|
|
80
84
|
const q = {
|
|
81
85
|
offer: (body: Evt, meta: typeof QueueMeta.Type) =>
|
|
@@ -93,7 +97,7 @@ export function makeSQLQueue<
|
|
|
93
97
|
}),
|
|
94
98
|
take: Effect.gen(function*() {
|
|
95
99
|
while (true) {
|
|
96
|
-
const [first] = yield* drain()
|
|
100
|
+
const [first] = yield* drain.pipe(Effect.withTracerEnabled(false)) // disable sql tracer otherwise we spam it..
|
|
97
101
|
if (first) {
|
|
98
102
|
const dec = yield* decodeDrain(first)
|
|
99
103
|
const { createdAt, updatedAt, ...rest } = dec
|