@unchainedshop/core-worker 2.2.1 → 2.2.3
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/lib/module/configureWorkerModule.js +4 -3
- package/lib/module/configureWorkerModule.js.map +1 -1
- package/lib/schedulers/FailedRescheduler.d.ts +5 -2
- package/lib/schedulers/FailedRescheduler.js +12 -5
- package/lib/schedulers/FailedRescheduler.js.map +1 -1
- package/lib/workers/BaseWorker.js +18 -14
- package/lib/workers/BaseWorker.js.map +1 -1
- package/lib/workers/EventListenerWorker.d.ts +3 -2
- package/lib/workers/EventListenerWorker.js.map +1 -1
- package/lib/workers/IntervalWorker.d.ts +2 -3
- package/lib/workers/IntervalWorker.js.map +1 -1
- package/package.json +5 -5
- package/src/module/configureWorkerModule.ts +13 -4
- package/src/schedulers/FailedRescheduler.ts +22 -7
- package/src/workers/BaseWorker.ts +18 -18
- package/src/workers/EventListenerWorker.ts +5 -1
- package/src/workers/IntervalWorker.ts +2 -2
|
@@ -73,7 +73,7 @@ export const configureWorkerModule = async ({ db, }) => {
|
|
|
73
73
|
const query = buildQuerySelector({
|
|
74
74
|
status: [WorkStatus.NEW],
|
|
75
75
|
scheduled: { end: new Date() },
|
|
76
|
-
worker: { $in: [null, worker] },
|
|
76
|
+
worker: { $in: [null, '', worker] },
|
|
77
77
|
...(types ? { type: { $in: types } } : {}),
|
|
78
78
|
});
|
|
79
79
|
const result = await WorkQueue.findOneAndUpdate(query, {
|
|
@@ -260,7 +260,7 @@ export const configureWorkerModule = async ({ db, }) => {
|
|
|
260
260
|
return work;
|
|
261
261
|
},
|
|
262
262
|
allocateWork,
|
|
263
|
-
ensureOneWork: async ({ type, input, priority = 0, scheduled, originalWorkId, retries = 20 }) => {
|
|
263
|
+
ensureOneWork: async ({ type, input, priority = 0, scheduled, timeout, originalWorkId, retries = 20, }) => {
|
|
264
264
|
const created = new Date();
|
|
265
265
|
const query = buildQuerySelector({
|
|
266
266
|
type,
|
|
@@ -282,6 +282,7 @@ export const configureWorkerModule = async ({ db, }) => {
|
|
|
282
282
|
originalWorkId,
|
|
283
283
|
scheduled,
|
|
284
284
|
retries,
|
|
285
|
+
timeout,
|
|
285
286
|
created,
|
|
286
287
|
},
|
|
287
288
|
}, {
|
|
@@ -321,7 +322,7 @@ export const configureWorkerModule = async ({ db, }) => {
|
|
|
321
322
|
const workQueue = await WorkQueue.find(buildQuerySelector({
|
|
322
323
|
status: [WorkStatus.ALLOCATED],
|
|
323
324
|
started: { $lte: referenceDate },
|
|
324
|
-
worker,
|
|
325
|
+
worker: { $in: [worker, '', null] },
|
|
325
326
|
type: { $in: types },
|
|
326
327
|
}), { projection: { _id: true }, sort: { test: 1 } }).toArray();
|
|
327
328
|
return Promise.all(workQueue.map(({ _id }) => finishWork(_id, {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"configureWorkerModule.js","sourceRoot":"","sources":["../../src/module/configureWorkerModule.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,IAAI,CAAC;AAIpB,OAAO,EAAE,YAAY,EAAE,MAAM,uBAAuB,CAAC;AACrD,OAAO,EAAE,oBAAoB,EAAE,mBAAmB,EAAE,gBAAgB,EAAE,MAAM,sBAAsB,CAAC;AACnG,OAAO,EAAE,aAAa,EAAE,MAAM,6BAA6B,CAAC;AAC5D,OAAO,EAAE,mBAAmB,EAAE,MAAM,8BAA8B,CAAC;AACnE,OAAO,EAAE,eAAe,EAAE,MAAM,0BAA0B,CAAC;AAC3D,OAAO,EAAE,4BAA4B,EAAE,cAAc,EAAE,MAAM,+BAA+B,CAAC;AAC7F,OAAO,EAAE,gBAAgB,EAAE,MAAM,iCAAiC,CAAC;AACnE,OAAO,EAAE,UAAU,EAAE,MAAM,2BAA2B,CAAC;AAEvD,MAAM,EAAE,mBAAmB,GAAG,EAAE,CAAC,QAAQ,EAAE,EAAE,GAAG,OAAO,CAAC,GAAG,CAAC;AAE5D,MAAM,MAAM,GAAG,YAAY,CAAC,uBAAuB,CAAC,CAAC;AAErD,MAAM,CAAC,MAAM,kBAAkB,GAAG,CAAC,EACjC,OAAO,EACP,SAAS,EACT,KAAK,EACL,MAAM,EACN,MAAM,EACN,WAAW,EACX,GAAG,IAAI,EAQR,EAAE,EAAE;IACH,MAAM,SAAS,GAAG;QAChB,CAAC,UAAU,CAAC,OAAO,CAAC,EAAE,EAAE,OAAO,EAAE,EAAE,OAAO,EAAE,IAAI,EAAE,EAAE;QACpD,CAAC,UAAU,CAAC,GAAG,CAAC,EAAE;YAChB,OAAO,EAAE,EAAE,OAAO,EAAE,KAAK,EAAE;YAC3B,OAAO,EAAE,EAAE,OAAO,EAAE,KAAK,EAAE;SAC5B;QACD,CAAC,UAAU,CAAC,SAAS,CAAC,EAAE;YACtB,OAAO,EAAE,EAAE,OAAO,EAAE,IAAI,EAAE;YAC1B,QAAQ,EAAE,EAAE,OAAO,EAAE,KAAK,EAAE;YAC5B,OAAO,EAAE,EAAE,OAAO,EAAE,KAAK,EAAE;SAC5B;QACD,CAAC,UAAU,CAAC,OAAO,CAAC,EAAE;YACpB,QAAQ,EAAE,EAAE,OAAO,EAAE,IAAI,EAAE;YAC3B,OAAO,EAAE,IAAI;YACb,OAAO,EAAE,EAAE,OAAO,EAAE,KAAK,EAAE;SAC5B;QACD,CAAC,UAAU,CAAC,MAAM,CAAC,EAAE;YACnB,QAAQ,EAAE,EAAE,OAAO,EAAE,IAAI,EAAE;YAC3B,OAAO,EAAE,KAAK;YACd,OAAO,EAAE,EAAE,OAAO,EAAE,KAAK,EAAE;SAC5B;KACF,CAAC;IACF,MAAM,WAAW,GAAG;QAClB,GAAG,EAAE,MAAM,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC,MAAM,CACnC,CAAC,GAAG,EAAE,CAAC,GAAG,EAAE,MAAM,CAAC,EAAE,EAAE,CAAC,CAAC,MAAM,EAAE,QAAQ,CAAC,GAAiB,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,GAAG,EAAE,MAAM,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,EACtF,EAAE,CACH;KACF,CAAC;IAEF,IAAI,KAAK,GAAU,WAAW,CAAC,GAAG,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,EAAE,OAAO,EAAE,KAAK,EAAE,EAAE,CAAC;IAE9F,IAAI,OAAO,EAAE;QACX,KAAK,CAAC,OAAO,GAAG,OAAO,EAAE,GAAG;YAC1B,CAAC,CAAC,EAAE,IAAI,EAAE,OAAO,CAAC,KAAK,IAAI,IAAI,IAAI,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,OAAO,CAAC,GAAG,EAAE;YAC3D,CAAC,CAAC,EAAE,IAAI,EAAE,OAAO,CAAC,KAAK,IAAI,IAAI,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC;KAC5C;IACD,IAAI,SAAS,EAAE;QACb,KAAK,CAAC,SAAS,GAAG,SAAS,EAAE,GAAG;YAC9B,CAAC,CAAC,EAAE,IAAI,EAAE,SAAS,CAAC,KAAK,IAAI,IAAI,IAAI,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,SAAS,CAAC,GAAG,EAAE;YAC/D,CAAC,CAAC,EAAE,IAAI,EAAE,SAAS,CAAC,KAAK,IAAI,IAAI,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC;KAC9C;IACD,IAAI,KAAK,IAAI,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE;QACjC,KAAK,CAAC,IAAI,GAAG,EAAE,GAAG,EAAE,KAAK,EAAE,CAAC;KAC7B;IAED,IAAI,MAAM,EAAE;QACV,KAAK,GAAG,oBAAoB,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC;KAC7C;IACD,IAAI,WAAW;QAAE,KAAK,CAAC,KAAK,GAAG,EAAE,OAAO,EAAE,WAAW,EAAE,CAAC;IAExD,OAAO,EAAE,GAAG,KAAK,EAAE,GAAG,IAAI,EAAE,CAAC;AAC/B,CAAC,CAAC;AAEF,MAAM,WAAW,GAAiD;IAChE,EAAE,GAAG,EAAE,SAAS,EAAE,KAAK,EAAE,aAAa,CAAC,IAAI,EAAE;IAC7C,EAAE,GAAG,EAAE,UAAU,EAAE,KAAK,EAAE,aAAa,CAAC,IAAI,EAAE;IAC9C,EAAE,GAAG,EAAE,gBAAgB,EAAE,KAAK,EAAE,aAAa,CAAC,GAAG,EAAE;IACnD,EAAE,GAAG,EAAE,SAAS,EAAE,KAAK,EAAE,aAAa,CAAC,GAAG,EAAE;CAC7C,CAAC;AAEF,MAAM,CAAC,MAAM,qBAAqB,GAAG,KAAK,EAAE,EAC1C,EAAE,GACiC,EAAyB,EAAE;IAC9D,MAAM,SAAS,GAAG,MAAM,mBAAmB,CAAC,EAAE,CAAC,CAAC;IAEhD,MAAM,SAAS,GAAG,mBAAmB,CAAO,SAAS,EAAE,eAAe,CAA0B,CAAC;IAEjG,MAAM,YAAY,GAAiC,KAAK,EAAE,EAAE,KAAK,EAAE,MAAM,GAAG,mBAAmB,EAAE,EAAE,EAAE;QACnG,iEAAiE;QACjE,QAAQ;QACR,6CAA6C;QAC7C,gCAAgC;QAChC,MAAM,KAAK,GAAG,kBAAkB,CAAC;YAC/B,MAAM,EAAE,CAAC,UAAU,CAAC,GAAG,CAAC;YACxB,SAAS,EAAE,EAAE,GAAG,EAAE,IAAI,IAAI,EAAE,EAAE;YAC9B,MAAM,EAAE,EAAE,GAAG,EAAE,CAAC,IAAI,EAAE,MAAM,CAAC,EAAE;YAC/B,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,EAAE,GAAG,EAAE,KAAK,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;SAC3C,CAAC,CAAC;QACH,MAAM,MAAM,GAAG,MAAM,SAAS,CAAC,gBAAgB,CAC7C,KAAK,EACL;YACE,IAAI,EAAE,EAAE,OAAO,EAAE,IAAI,IAAI,EAAE,EAAE,MAAM,EAAE;SACtC,EACD,EAAE,IAAI,EAAE,gBAAgB,CAAC,WAAW,CAAC,EAAE,cAAc,EAAE,OAAO,EAAE,CACjE,CAAC;QAEF,cAAc,CAAC,MAAM,CAAC,IAAI,CAAC,gBAAgB,CAAC,SAAS,EAAE;YACrD,IAAI,EAAE,MAAM,CAAC,KAAK;SACnB,CAAC,CAAC;QAEH,OAAO,MAAM,CAAC,KAAK,CAAC;IACtB,CAAC,CAAC;IAEF,MAAM,UAAU,GAA+B,KAAK,EAClD,MAAM,EACN,EACE,KAAK,EACL,QAAQ,GAAG,IAAI,IAAI,EAAE,EACrB,MAAM,EACN,OAAO,GAAG,IAAI,IAAI,EAAE,EACpB,OAAO,EACP,MAAM,GAAG,mBAAmB,GAC7B,EACD,EAAE;QACF,MAAM,gBAAgB,GAAG,MAAM,SAAS,CAAC,OAAO,CAC9C,kBAAkB,CAAC,EAAE,MAAM,EAAE,MAAM,EAAE,CAAC,UAAU,CAAC,SAAS,CAAC,EAAE,CAAC,CAC/D,CAAC;QAEF,IAAI,CAAC,gBAAgB;YAAE,OAAO,IAAI,CAAC;QAEnC,MAAM,SAAS,CAAC,MAAM,CAAC,MAAM,EAAE;YAC7B,IAAI,EAAE;gBACJ,QAAQ;gBACR,OAAO;gBACP,KAAK;gBACL,MAAM;gBACN,GAAG,CAAC,CAAC,gBAAgB,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;gBACjD,MAAM;aACP;SACF,CAAC,CAAC;QAEH,MAAM,IAAI,GAAG,MAAM,SAAS,CAAC,OAAO,CAAC,oBAAoB,CAAC,MAAM,CAAC,EAAE,EAAE,CAAC,CAAC;QAEvE,MAAM,QAAQ,GAAG,IAAI,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,OAAO,EAAE,GAAG,IAAI,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,OAAO,EAAE,CAAC;QACtF,IAAI,IAAI,CAAC,OAAO,EAAE;YAChB,MAAM,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC,IAAI,2BAA2B,QAAQ,KAAK,EAAE;gBAChE,MAAM;gBACN,MAAM;aACP,CAAC,CAAC;SACJ;aAAM;YACL,MAAM,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC,IAAI,0BAA0B,QAAQ,SAAS,IAAI,CAAC,OAAO,YAAY,EAAE;gBAC3F,MAAM;gBACN,MAAM;aACP,CAAC,CAAC;SACJ;QACD,MAAM,CAAC,KAAK,CAAC,eAAe,EAAE,EAAE,IAAI,EAAE,CAAC,CAAC;QAExC,cAAc,CAAC,MAAM,CAAC,IAAI,CAAC,gBAAgB,CAAC,QAAQ,EAAE,EAAE,IAAI,EAAE,CAAC,CAAC;QAEhE,OAAO,IAAI,CAAC;IACd,CAAC,CAAC;IAEF,MAAM,eAAe,GAAoC,KAAK,EAAE,QAAQ,EAAE,YAAY,EAAE,EAAE;QACxF,MAAM,QAAQ,GAAG,cAAc,CAAC,WAAW,EAAE,CAAC;QAE9C,MAAM,oBAAoB,GAAG,MAAM,SAAS,CAAC,SAAS,CACpD;YACE;gBACE,MAAM,EAAE;oBACN,OAAO,EAAE;wBACP,OAAO,EAAE,IAAI;qBACd;oBACD,QAAQ,EAAE;wBACR,OAAO,EAAE,KAAK;qBACf;oBACD,OAAO,EAAE;wBACP,OAAO,EAAE,KAAK;qBACf;iBACF;aACF;YACD;gBACE,MAAM,EAAE;oBACN,GAAG,EAAE,OAAO;oBACZ,KAAK,EAAE;wBACL,IAAI,EAAE,CAAC;qBACR;iBACF;aACF;SACF,EACD;YACE,YAAY,EAAE,KAAK;SACpB,CACF,CAAC,OAAO,EAAE,CAAC;QAEZ,MAAM,aAAa,GAAG,MAAM,CAAC,WAAW,CAAC,oBAAoB,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,GAAG,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;QAE5F,MAAM,KAAK,GAAG,QAAQ;aACnB,MAAM,CAAC,CAAC,OAAO,EAAE,EAAE;YAClB,0BAA0B;YAC1B,IAAI,OAAO,CAAC,QAAQ;gBAAE,OAAO,KAAK,CAAC;YACnC,IACE,OAAO,CAAC,sBAAsB;gBAC9B,OAAO,CAAC,sBAAsB,IAAI,aAAa,CAAC,OAAO,CAAC,IAAI,CAAC;gBAE7D,OAAO,KAAK,CAAC;YACf,OAAO,IAAI,CAAC;QACd,CAAC,CAAC;aACD,GAAG,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;QAElC,MAAM,IAAI,GAAG,MAAM,YAAY,CAAC;YAC9B,KAAK;YACL,MAAM,EAAE,QAAQ;SACjB,CAAC,CAAC;QAEH,IAAI,IAAI,EAAE;YACR,MAAM,MAAM,GAAG,MAAM,cAAc,CAAC,MAAM,CAAC,IAAI,EAAE,YAAY,CAAC,CAAC;YAE/D,OAAO,UAAU,CAAC,IAAI,CAAC,GAAG,EAAE;gBAC1B,GAAG,MAAM;gBACT,QAAQ,EAAE,IAAI,CAAC,QAAQ,IAAI,IAAI,IAAI,EAAE;gBACrC,OAAO,EAAE,IAAI,CAAC,OAAO;gBACrB,MAAM,EAAE,QAAQ;aACjB,CAAC,CAAC;SACJ;QAED,OAAO,IAAI,CAAC;IACd,CAAC,CAAC;IAEF,OAAO;QACL,UAAU;QACV,eAAe,EAAE,KAAK,IAAI,EAAE;YAC1B,MAAM,QAAQ,GAAG,MAAM,SAAS,CAAC,SAAS,CAAC,CAAC,EAAE,MAAM,EAAE,EAAE,GAAG,EAAE,OAAO,EAAE,EAAE,CAAC,CAAC,CAAC,OAAO,EAAE,CAAC;YACrF,OAAO,QAAQ;iBACZ,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,GAAa,CAAC;iBAC3B,MAAM,CAAC,CAAC,IAAI,EAAE,EAAE;gBACf,OAAO,cAAc,CAAC,oBAAoB,EAAE,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;YAC9D,CAAC,CAAC,CAAC;QACP,CAAC;QAED,QAAQ,EAAE,KAAK,EAAE,EAAE,MAAM,EAAE,cAAc,EAAE,EAAE,EAAE,CAC7C,SAAS,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,oBAAoB,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,EAAE,cAAc,EAAE,EAAE,EAAE,CAAC;QAEnF,aAAa,EAAE,KAAK,EAAE,EAAE,KAAK,EAAE,IAAI,EAAE,IAAI,EAAE,GAAG,eAAe,EAAE,EAAE,EAAE;YACjE,MAAM,QAAQ,GAAG,kBAAkB,CAAC,eAAe,CAAC,CAAC;YACrD,MAAM,UAAU,GAAG,SAAS,CAAC,IAAI,CAAC,QAAQ,EAAE;gBAC1C,IAAI;gBACJ,KAAK;gBACL,IAAI,EAAE,gBAAgB,CAAC,IAAI,IAAI,WAAW,CAAC;aAC5C,CAAC,CAAC;YAEH,OAAO,UAAU,CAAC,OAAO,EAAE,CAAC;QAC9B,CAAC;QAED,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,EAAE;YACrB,OAAO,SAAS,CAAC,cAAc,CAAC,kBAAkB,CAAC,KAAK,CAAC,CAAC,CAAC;QAC7D,CAAC;QAED,UAAU,EAAE,KAAK,EAAE,EAAE,MAAM,EAAE,cAAc,EAAE,EAAE,EAAE;YAC/C,MAAM,UAAU,GAAG,MAAM,SAAS,CAAC,cAAc,CAC/C,MAAM,CAAC,CAAC,CAAC,oBAAoB,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,EAAE,cAAc,EAAE,EAC1D,EAAE,KAAK,EAAE,CAAC,EAAE,CACb,CAAC;YACF,OAAO,CAAC,CAAC,UAAU,CAAC;QACtB,CAAC;QAED,kBAAkB;QAElB,IAAI,EAAE,CAAC,IAAI,EAAE,EAAE;YACb,IAAI,cAAc,CAAC,oBAAoB,EAAE,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE;gBAC7D,OAAO,IAAI,CAAC,IAAI,CAAC;aAClB;YACD,OAAO,SAAS,CAAC;QACnB,CAAC;QAED,MAAM,EAAE,CAAC,IAAI,EAAE,EAAE;YACf,IAAI,IAAI,CAAC,OAAO,EAAE;gBAChB,OAAO,UAAU,CAAC,OAAO,CAAC;aAC3B;YACD,IAAI,CAAC,IAAI,CAAC,OAAO,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE;gBACnC,OAAO,UAAU,CAAC,GAAG,CAAC;aACvB;YACD,IAAI,IAAI,CAAC,OAAO,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE;gBAClC,OAAO,UAAU,CAAC,SAAS,CAAC;aAC7B;YACD,IAAI,IAAI,CAAC,OAAO,IAAI,IAAI,CAAC,QAAQ,IAAI,IAAI,CAAC,OAAO,EAAE;gBACjD,OAAO,UAAU,CAAC,OAAO,CAAC;aAC3B;YACD,IAAI,IAAI,CAAC,OAAO,IAAI,IAAI,CAAC,QAAQ,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE;gBAClD,OAAO,UAAU,CAAC,MAAM,CAAC;aAC1B;YAED,MAAM,CAAC,KAAK,CAAC,GAAG,IAAI,CAAC,IAAI,yBAAyB,EAAE,EAAE,MAAM,EAAE,IAAI,CAAC,GAAG,EAAE,CAAC,CAAC;YAE1E,MAAM,IAAI,KAAK,CAAC,wBAAwB,CAAC,CAAC;QAC5C,CAAC;QAED,YAAY;QACZ,OAAO,EAAE,KAAK,EAAE,EACd,IAAI,EACJ,KAAK,EACL,QAAQ,GAAG,CAAC,EACZ,SAAS,EACT,cAAc,EACd,MAAM,GAAG,IAAI,EACb,OAAO,GAAG,EAAE,GACb,EAAE,EAAE;YACH,IAAI,CAAC,cAAc,CAAC,gBAAgB,CAAC,IAAI,CAAC,EAAE;gBAC1C,MAAM,IAAI,KAAK,CAAC,iCAAiC,IAAI,EAAE,CAAC,CAAC;aAC1D;YAED,MAAM,OAAO,GAAG,IAAI,IAAI,EAAE,CAAC;YAC3B,MAAM,MAAM,GAAG,MAAM,SAAS,CAAC,MAAM,CAAC;gBACpC,IAAI;gBACJ,KAAK;gBACL,QAAQ;gBACR,SAAS,EAAE,SAAS,IAAI,OAAO;gBAC/B,cAAc;gBACd,OAAO;gBACP,OAAO;gBACP,MAAM;aACP,CAAC,CAAC;YAEH,MAAM,CAAC,IAAI,CAAC,GAAG,IAAI,gBAAgB,IAAI,IAAI,CAAC,SAAS,IAAI,OAAO,CAAC,CAAC,WAAW,EAAE,EAAE,EAAE;gBACjF,MAAM;aACP,CAAC,CAAC;YAEH,MAAM,IAAI,GAAG,MAAM,SAAS,CAAC,OAAO,CAAC,oBAAoB,CAAC,MAAM,CAAC,EAAE,EAAE,CAAC,CAAC;YAEvE,cAAc,CAAC,MAAM,CAAC,IAAI,CAAC,gBAAgB,CAAC,KAAK,EAAE,EAAE,IAAI,EAAE,CAAC,CAAC;YAE7D,OAAO,IAAI,CAAC;QACd,CAAC;QAED,cAAc,EAAE,KAAK,EAAE,WAAW,EAAE,SAAS,EAAE,EAAE;YAC/C,MAAM,SAAS,CAAC,MAAM,CAAC,WAAW,CAAC,GAAG,EAAE;gBACtC,IAAI,EAAE;oBACJ,SAAS;iBACV;aACF,CAAC,CAAC;YAEH,MAAM,IAAI,GAAG,MAAM,SAAS,CAAC,OAAO,CAAC,oBAAoB,CAAC,WAAW,CAAC,GAAG,CAAC,EAAE,EAAE,CAAC,CAAC;YAEhF,cAAc,CAAC,MAAM,CAAC,IAAI,CAAC,gBAAgB,CAAC,WAAW,EAAE;gBACvD,IAAI;gBACJ,YAAY,EAAE,WAAW,CAAC,SAAS;aACpC,CAAC,CAAC;YAEH,OAAO,IAAI,CAAC;QACd,CAAC;QAED,YAAY;QAEZ,aAAa,EAAE,KAAK,EAAE,EAAE,IAAI,EAAE,KAAK,EAAE,QAAQ,GAAG,CAAC,EAAE,SAAS,EAAE,cAAc,EAAE,OAAO,GAAG,EAAE,EAAE,EAAE,EAAE;YAC9F,MAAM,OAAO,GAAG,IAAI,IAAI,EAAE,CAAC;YAC3B,MAAM,KAAK,GAAG,kBAAkB,CAAC;gBAC/B,IAAI;gBACJ,MAAM,EAAE,CAAC,UAAU,CAAC,GAAG,CAAC;gBACxB,QAAQ;aACT,CAAC,CAAC;YACH,IAAI;gBACF,MAAM,MAAM,GAAG,GAAG,IAAI,IAAI,SAAS,CAAC,OAAO,EAAE,EAAE,CAAC;gBAChD,MAAM,MAAM,GAAG,MAAM,SAAS,CAAC,gBAAgB,CAC7C,KAAK,EACL;oBACE,IAAI,EAAE;wBACJ,KAAK;wBACL,MAAM,EAAE,IAAI;wBACZ,OAAO,EAAE,OAAO;qBACjB;oBACD,YAAY,EAAE;wBACZ,GAAG,EAAE,MAAM;wBACX,IAAI;wBACJ,QAAQ;wBACR,cAAc;wBACd,SAAS;wBACT,OAAO;wBACP,OAAO;qBACR;iBACF,EACD;oBACE,IAAI,EAAE,gBAAgB,CAAC,WAAW,CAAC;oBACnC,cAAc,EAAE,OAAO;oBACvB,MAAM,EAAE,IAAI;iBACb,CACF,CAAC;gBAEF,IAAI,CAAC,MAAM,CAAC,eAAe,CAAC,eAAe,EAAE;oBAC3C,MAAM,CAAC,IAAI,CAAC,GAAG,IAAI,qBAAqB,IAAI,IAAI,CAAC,SAAS,CAAC,CAAC,WAAW,EAAE,EAAE,EAAE;wBAC3E,MAAM;qBACP,CAAC,CAAC;oBAEH,cAAc,CAAC,MAAM,CAAC,IAAI,CAAC,gBAAgB,CAAC,KAAK,EAAE;wBACjD,IAAI,EAAE,MAAM,CAAC,KAAK;qBACnB,CAAC,CAAC;iBACJ;gBACD,OAAO,MAAM,CAAC,KAAK,CAAC;aACrB;YAAC,OAAO,CAAC,EAAE;gBACV,OAAO,IAAI,CAAC;aACb;QACH,CAAC;QAED,eAAe;QAEf,UAAU;QAEV,UAAU,EAAE,KAAK,EAAE,MAAM,EAAE,EAAE;YAC3B,MAAM,iBAAiB,GAAG,MAAM,SAAS,CAAC,OAAO,CAC/C,kBAAkB,CAAC;gBACjB,MAAM;gBACN,MAAM,EAAE,CAAC,UAAU,CAAC,GAAG,EAAE,UAAU,CAAC,SAAS,CAAC;aAC/C,CAAC,CACH,CAAC;YACF,IAAI,CAAC,iBAAiB;gBAAE,OAAO,IAAI,CAAC;YAEpC,MAAM,SAAS,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;YAE/B,MAAM,IAAI,GAAG,MAAM,SAAS,CAAC,OAAO,CAAC,oBAAoB,CAAC,MAAM,CAAC,EAAE,EAAE,CAAC,CAAC;YAEvE,cAAc,CAAC,MAAM,CAAC,IAAI,CAAC,gBAAgB,CAAC,OAAO,EAAE,EAAE,IAAI,EAAE,CAAC,CAAC;YAE/D,OAAO,IAAI,CAAC;QACd,CAAC;QAED,mBAAmB,EAAE,KAAK,EAAE,EAAE,KAAK,EAAE,MAAM,EAAE,aAAa,EAAE,EAAE,EAAE;YAC9D,MAAM,SAAS,GAAG,MAAM,SAAS,CAAC,IAAI,CACpC,kBAAkB,CAAC;gBACjB,MAAM,EAAE,CAAC,UAAU,CAAC,SAAS,CAAC;gBAC9B,OAAO,EAAE,EAAE,IAAI,EAAE,aAAa,EAAE;gBAChC,MAAM;gBACN,IAAI,EAAE,EAAE,GAAG,EAAE,KAAK,EAAE;aACrB,CAAC,EACF,EAAE,UAAU,EAAE,EAAE,GAAG,EAAE,IAAI,EAAE,EAAE,IAAI,EAAE,EAAE,IAAI,EAAE,CAAC,EAAE,EAAE,CACjD,CAAC,OAAO,EAAE,CAAC;YAEZ,OAAO,OAAO,CAAC,GAAG,CAChB,SAAS,CAAC,GAAG,CAAC,CAAC,EAAE,GAAG,EAAE,EAAE,EAAE,CACxB,UAAU,CAAC,GAAa,EAAE;gBACxB,QAAQ,EAAE,IAAI,IAAI,EAAE;gBACpB,MAAM,EAAE,IAAI;gBACZ,OAAO,EAAE,KAAK;gBACd,KAAK,EAAE;oBACL,IAAI,EAAE,4BAA4B;oBAClC,OAAO,EACL,uHAAuH;iBAC1H;gBACD,MAAM;aACP,CAAC,CACH,CACF,CAAC;QACJ,CAAC;KACF,CAAC;AACJ,CAAC,CAAC"}
|
|
1
|
+
{"version":3,"file":"configureWorkerModule.js","sourceRoot":"","sources":["../../src/module/configureWorkerModule.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,2 +1,5 @@
|
|
|
1
|
-
import { IScheduler } from '@unchainedshop/types/worker.js';
|
|
2
|
-
export
|
|
1
|
+
import { IScheduler, WorkData } from '@unchainedshop/types/worker.js';
|
|
2
|
+
export interface FailedReschedulerParams {
|
|
3
|
+
retryInput?: (workData: WorkData, priorInput: Record<string, any>) => Promise<Record<string, any> | null>;
|
|
4
|
+
}
|
|
5
|
+
export declare const FailedRescheduler: IScheduler<FailedReschedulerParams>;
|
|
@@ -5,8 +5,8 @@ export const FailedRescheduler = {
|
|
|
5
5
|
key: 'shop.unchained.scheduler.failed',
|
|
6
6
|
label: 'Reschedule failed works',
|
|
7
7
|
version: '1.0.0',
|
|
8
|
-
actions: (unchainedAPI) => {
|
|
9
|
-
const handleFinishedWork = ({ work }) => {
|
|
8
|
+
actions: ({ retryInput }, unchainedAPI) => {
|
|
9
|
+
const handleFinishedWork = async ({ work }) => {
|
|
10
10
|
if (!work.success && work.retries > 0) {
|
|
11
11
|
const now = new Date();
|
|
12
12
|
const workDelayMs = work.scheduled.getTime() - work.created.getTime();
|
|
@@ -15,14 +15,21 @@ export const FailedRescheduler = {
|
|
|
15
15
|
? new Date(now.getTime() + workDelayMs * 2)
|
|
16
16
|
: new Date(now.setSeconds(now.getSeconds() + 5));
|
|
17
17
|
log(`${FailedRescheduler.key} -> Reschedule failed work ${work._id} ${work.type} for ${scheduled.toISOString()} (in ${Math.round(workDelayMs / 1000)}). Remaining retries: ${work.retries}`);
|
|
18
|
-
|
|
18
|
+
const workData = {
|
|
19
19
|
type: work.type,
|
|
20
|
-
input: work.input,
|
|
21
20
|
priority: work.priority,
|
|
22
21
|
originalWorkId: work.originalWorkId || work._id,
|
|
23
22
|
retries: work.retries - 1,
|
|
23
|
+
timeout: work.timeout,
|
|
24
24
|
scheduled,
|
|
25
|
-
}
|
|
25
|
+
};
|
|
26
|
+
if (retryInput) {
|
|
27
|
+
workData.input = await retryInput(workData, work.input);
|
|
28
|
+
}
|
|
29
|
+
else {
|
|
30
|
+
workData.input = work.input;
|
|
31
|
+
}
|
|
32
|
+
unchainedAPI.modules.worker.addWork(workData);
|
|
26
33
|
}
|
|
27
34
|
};
|
|
28
35
|
return {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"FailedRescheduler.js","sourceRoot":"","sources":["../../src/schedulers/FailedRescheduler.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,GAAG,EAAE,MAAM,uBAAuB,CAAC;AAC5C,OAAO,EAAE,cAAc,EAAE,MAAM,+BAA+B,CAAC;AAC/D,OAAO,EAAE,gBAAgB,EAAE,MAAM,iCAAiC,CAAC;
|
|
1
|
+
{"version":3,"file":"FailedRescheduler.js","sourceRoot":"","sources":["../../src/schedulers/FailedRescheduler.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,GAAG,EAAE,MAAM,uBAAuB,CAAC;AAC5C,OAAO,EAAE,cAAc,EAAE,MAAM,+BAA+B,CAAC;AAC/D,OAAO,EAAE,gBAAgB,EAAE,MAAM,iCAAiC,CAAC;AASnE,MAAM,CAAC,MAAM,iBAAiB,GAAwC;IACpE,GAAG,EAAE,iCAAiC;IACtC,KAAK,EAAE,yBAAyB;IAChC,OAAO,EAAE,OAAO;IAEhB,OAAO,EAAE,CAAC,EAAE,UAAU,EAAE,EAAE,YAAY,EAAE,EAAE;QACxC,MAAM,kBAAkB,GAAG,KAAK,EAAE,EAAE,IAAI,EAAkB,EAAE,EAAE;YAC5D,IAAI,CAAC,IAAI,CAAC,OAAO,IAAI,IAAI,CAAC,OAAO,GAAG,CAAC,EAAE;gBACrC,MAAM,GAAG,GAAG,IAAI,IAAI,EAAE,CAAC;gBACvB,MAAM,WAAW,GAAG,IAAI,CAAC,SAAS,CAAC,OAAO,EAAE,GAAG,IAAI,CAAC,OAAO,CAAC,OAAO,EAAE,CAAC;gBAEtE,oEAAoE;gBACpE,MAAM,SAAS,GACb,WAAW,GAAG,IAAI;oBAChB,CAAC,CAAC,IAAI,IAAI,CAAC,GAAG,CAAC,OAAO,EAAE,GAAG,WAAW,GAAG,CAAC,CAAC;oBAC3C,CAAC,CAAC,IAAI,IAAI,CAAC,GAAG,CAAC,UAAU,CAAC,GAAG,CAAC,UAAU,EAAE,GAAG,CAAC,CAAC,CAAC,CAAC;gBAErD,GAAG,CACD,GAAG,iBAAiB,CAAC,GAAG,8BAA8B,IAAI,CAAC,GAAG,IAC5D,IAAI,CAAC,IACP,QAAQ,SAAS,CAAC,WAAW,EAAE,QAAQ,IAAI,CAAC,KAAK,CAAC,WAAW,GAAG,IAAI,CAAC,yBACnE,IAAI,CAAC,OACP,EAAE,CACH,CAAC;gBAEF,MAAM,QAAQ,GAAa;oBACzB,IAAI,EAAE,IAAI,CAAC,IAAI;oBACf,QAAQ,EAAE,IAAI,CAAC,QAAQ;oBACvB,cAAc,EAAE,IAAI,CAAC,cAAc,IAAI,IAAI,CAAC,GAAG;oBAC/C,OAAO,EAAE,IAAI,CAAC,OAAO,GAAG,CAAC;oBACzB,OAAO,EAAE,IAAI,CAAC,OAAO;oBACrB,SAAS;iBACV,CAAC;gBAEF,IAAI,UAAU,EAAE;oBACd,QAAQ,CAAC,KAAK,GAAG,MAAM,UAAU,CAAC,QAAQ,EAAE,IAAI,CAAC,KAAK,CAAC,CAAC;iBACzD;qBAAM;oBACL,QAAQ,CAAC,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC;iBAC7B;gBAED,YAAY,CAAC,OAAO,CAAC,MAAM,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC;aAC/C;QACH,CAAC,CAAC;QAEF,OAAO;YACL,KAAK;gBACH,cAAc,CAAC,MAAM,CAAC,EAAE,CAAC,gBAAgB,CAAC,QAAQ,EAAE,kBAAkB,CAAC,CAAC;YAC1E,CAAC;YAED,IAAI;gBACF,cAAc,CAAC,MAAM,CAAC,GAAG,CAAC,gBAAgB,CAAC,QAAQ,EAAE,kBAAkB,CAAC,CAAC;YAC3E,CAAC;SACF,CAAC;IACJ,CAAC;CACF,CAAC"}
|
|
@@ -2,8 +2,7 @@ import later from '@breejs/later';
|
|
|
2
2
|
import { log } from '@unchainedshop/logger';
|
|
3
3
|
import os from 'os';
|
|
4
4
|
import { WorkerDirector } from '../director/WorkerDirector.js';
|
|
5
|
-
const { UNCHAINED_WORKER_ID } = process.env;
|
|
6
|
-
const resolveWorkerId = (customWorkerId, type) => customWorkerId || UNCHAINED_WORKER_ID || `${os.hostname()}:${type}`;
|
|
5
|
+
const { UNCHAINED_WORKER_ID = os.hostname() } = process.env;
|
|
7
6
|
export const BaseWorker = {
|
|
8
7
|
key: 'shop.unchained.worker.base',
|
|
9
8
|
label: 'Base worker. Do not use this directly.',
|
|
@@ -15,8 +14,7 @@ export const BaseWorker = {
|
|
|
15
14
|
return floored;
|
|
16
15
|
},
|
|
17
16
|
actions: ({ workerId, worker }, unchainedAPI) => {
|
|
18
|
-
|
|
19
|
-
log(`${worker.key} -> Initialized: ${resolvedWorkerId}`);
|
|
17
|
+
log(`${worker.key} -> Initialized: ${workerId || UNCHAINED_WORKER_ID} (${worker.type})`);
|
|
20
18
|
const workerActions = {
|
|
21
19
|
start() {
|
|
22
20
|
throw new Error(`Not implemented on ${this.constructor.key}`);
|
|
@@ -32,21 +30,27 @@ export const BaseWorker = {
|
|
|
32
30
|
});
|
|
33
31
|
},
|
|
34
32
|
autorescheduleTypes: async ({ referenceDate }) => {
|
|
35
|
-
return Promise.all(WorkerDirector.getAutoSchedules().map(async ([type,
|
|
36
|
-
const
|
|
37
|
-
const fixedSchedule = { ...schedule };
|
|
33
|
+
return Promise.all(WorkerDirector.getAutoSchedules().map(async ([type, workConfig]) => {
|
|
34
|
+
const fixedSchedule = { ...workConfig.schedule };
|
|
38
35
|
fixedSchedule.schedules[0].s = [0]; // ignore seconds, always run on second 0
|
|
39
36
|
const nextDate = later.schedule(fixedSchedule).next(1, referenceDate);
|
|
40
37
|
nextDate.setMilliseconds(0);
|
|
41
|
-
|
|
38
|
+
const workData = {
|
|
39
|
+
worker: workConfig.worker || workerId,
|
|
42
40
|
type,
|
|
43
|
-
input: input(),
|
|
44
41
|
scheduled: nextDate,
|
|
45
|
-
|
|
46
|
-
priority: priority || 0,
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
42
|
+
timeout: workConfig.timeout,
|
|
43
|
+
priority: workConfig.priority || 0,
|
|
44
|
+
retries: workConfig.retries || 0,
|
|
45
|
+
};
|
|
46
|
+
if (workConfig.input) {
|
|
47
|
+
workData.input = await workConfig.input(workData);
|
|
48
|
+
// A work input fn can skip auto scheduling a new record
|
|
49
|
+
// when it explicitly returns a falsish input instead of a dictionary
|
|
50
|
+
if (!workData.input)
|
|
51
|
+
return null;
|
|
52
|
+
}
|
|
53
|
+
return unchainedAPI.modules.worker.ensureOneWork(workData);
|
|
50
54
|
}));
|
|
51
55
|
},
|
|
52
56
|
process: async ({ maxWorkItemCount, referenceDate }) => {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"BaseWorker.js","sourceRoot":"","sources":["../../src/workers/BaseWorker.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,MAAM,eAAe,CAAC;AAClC,OAAO,EAAE,GAAG,EAAE,MAAM,uBAAuB,CAAC;AAC5C,OAAO,EAAE,MAAM,IAAI,CAAC;AACpB,OAAO,EAAE,cAAc,EAAE,MAAM,+BAA+B,CAAC;AAE/D,MAAM,EAAE,mBAAmB,
|
|
1
|
+
{"version":3,"file":"BaseWorker.js","sourceRoot":"","sources":["../../src/workers/BaseWorker.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
import { IWorker } from '@unchainedshop/types/worker.js';
|
|
2
|
-
export
|
|
2
|
+
export interface EventListenerWorkerParams {
|
|
3
3
|
workerId: string;
|
|
4
|
-
}
|
|
4
|
+
}
|
|
5
|
+
export declare const EventListenerWorker: IWorker<EventListenerWorkerParams>;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"EventListenerWorker.js","sourceRoot":"","sources":["../../src/workers/EventListenerWorker.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,gBAAgB,EAAE,MAAM,iCAAiC,CAAC;AACnE,OAAO,EAAE,cAAc,EAAE,MAAM,+BAA+B,CAAC;AAC/D,OAAO,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAC;
|
|
1
|
+
{"version":3,"file":"EventListenerWorker.js","sourceRoot":"","sources":["../../src/workers/EventListenerWorker.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,gBAAgB,EAAE,MAAM,iCAAiC,CAAC;AACnE,OAAO,EAAE,cAAc,EAAE,MAAM,+BAA+B,CAAC;AAC/D,OAAO,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAC;AAM7C,MAAM,CAAC,MAAM,mBAAmB,GAAuC;IACrE,GAAG,UAAU;IAEb,GAAG,EAAE,sCAAsC;IAC3C,KAAK,EAAE,mFAAmF;IAC1F,OAAO,EAAE,OAAO;IAChB,IAAI,EAAE,gBAAgB;IAEtB,OAAO,EAAE,CAAC,EAAE,QAAQ,EAAE,EAAE,YAAY,EAAE,EAAE;QACtC,IAAI,OAA4B,CAAC;QACjC,IAAI,UAA+B,CAAC;QAEpC,MAAM,iBAAiB,GAAG,UAAU,CAAC,OAAO,CAC1C,EAAE,QAAQ,EAAE,MAAM,EAAE,mBAAmB,EAAE,EACzC,YAAY,CACb,CAAC;QACF,OAAO;YACL,GAAG,iBAAiB;YAEpB,KAAK;gBACH,OAAO,GAAG,KAAK,IAAI,EAAE;oBACnB,MAAM,iBAAiB,CAAC,OAAO,CAAC;wBAC9B,gBAAgB,EAAE,CAAC;wBACnB,aAAa,EAAE,mBAAmB,CAAC,YAAY,EAAE;qBAClD,CAAC,CAAC;gBACL,CAAC,CAAC;gBACF,UAAU,GAAG,KAAK,IAAI,EAAE;oBACtB,MAAM,iBAAiB,CAAC,OAAO,CAAC;wBAC9B,gBAAgB,EAAE,CAAC;wBACnB,aAAa,EAAE,mBAAmB,CAAC,YAAY,EAAE;qBAClD,CAAC,CAAC;gBACL,CAAC,CAAC;gBAEF,cAAc,CAAC,MAAM,CAAC,EAAE,CAAC,gBAAgB,CAAC,KAAK,EAAE,OAAO,CAAC,CAAC;gBAC1D,cAAc,CAAC,MAAM,CAAC,EAAE,CAAC,gBAAgB,CAAC,QAAQ,EAAE,UAAU,CAAC,CAAC;gBAEhE,UAAU,CAAC,KAAK,IAAI,EAAE;oBACpB,MAAM,iBAAiB,CAAC,mBAAmB,CAAC;wBAC1C,aAAa,EAAE,mBAAmB,CAAC,YAAY,EAAE;qBAClD,CAAC,CAAC;gBACL,CAAC,EAAE,GAAG,CAAC,CAAC;YACV,CAAC;YAED,IAAI;gBACF,cAAc,CAAC,MAAM,CAAC,GAAG,CAAC,gBAAgB,CAAC,KAAK,EAAE,OAAO,CAAC,CAAC;gBAC3D,cAAc,CAAC,MAAM,CAAC,GAAG,CAAC,gBAAgB,CAAC,QAAQ,EAAE,UAAU,CAAC,CAAC;YACnE,CAAC;SACF,CAAC;IACJ,CAAC;CACF,CAAC"}
|
|
@@ -1,9 +1,8 @@
|
|
|
1
1
|
import { IWorker, WorkerSchedule } from '@unchainedshop/types/worker.js';
|
|
2
|
-
interface
|
|
2
|
+
export interface IntervalWorkerParams {
|
|
3
3
|
workerId: string;
|
|
4
4
|
batchCount?: number;
|
|
5
5
|
schedule: WorkerSchedule | string;
|
|
6
6
|
}
|
|
7
7
|
export declare const scheduleToInterval: (scheduleRaw: WorkerSchedule | string) => number;
|
|
8
|
-
export declare const IntervalWorker: IWorker<
|
|
9
|
-
export {};
|
|
8
|
+
export declare const IntervalWorker: IWorker<IntervalWorkerParams>;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"IntervalWorker.js","sourceRoot":"","sources":["../../src/workers/IntervalWorker.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,MAAM,eAAe,CAAC;AAClC,OAAO,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAC;AAE7C,MAAM,EAAE,QAAQ,EAAE,GAAG,OAAO,CAAC,GAAG,CAAC;AAQjC,MAAM,eAAe,GAAG,KAAK,CAAC,KAAK,CAAC,IAAI,CACtC,QAAQ,KAAK,YAAY,CAAC,CAAC,CAAC,iBAAiB,CAAC,CAAC,CAAC,kBAAkB,CACjD,CAAC;AAEpB,MAAM,CAAC,MAAM,kBAAkB,GAAG,CAAC,WAAoC,EAAE,EAAE;IACzE,MAAM,aAAa,GAAG,IAAI,IAAI,CAAC,IAAI,CAAC,CAAC;IACrC,MAAM,QAAQ,GAAG,OAAO,WAAW,KAAK,QAAQ,CAAC,CAAC,CAAC,KAAK,CAAC,KAAK,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,WAAW,CAAC;IAC/F,MAAM,CAAC,GAAG,EAAE,GAAG,CAAC,GAAG,KAAK,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC,IAAI,CAAC,CAAC,EAAE,aAAa,CAAC,CAAC;IACnE,MAAM,IAAI,GAAG,IAAI,IAAI,CAAC,GAAG,CAAC,CAAC,OAAO,EAAE,GAAG,IAAI,IAAI,CAAC,GAAG,CAAC,CAAC,OAAO,EAAE,CAAC;IAC/D,OAAO,IAAI,CAAC,GAAG,CAAC,IAAI,GAAG,EAAE,GAAG,EAAE,EAAE,IAAI,CAAC,CAAC,CAAC,4BAA4B;AACrE,CAAC,CAAC;AAEF,MAAM,CAAC,MAAM,cAAc,
|
|
1
|
+
{"version":3,"file":"IntervalWorker.js","sourceRoot":"","sources":["../../src/workers/IntervalWorker.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,MAAM,eAAe,CAAC;AAClC,OAAO,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAC;AAE7C,MAAM,EAAE,QAAQ,EAAE,GAAG,OAAO,CAAC,GAAG,CAAC;AAQjC,MAAM,eAAe,GAAG,KAAK,CAAC,KAAK,CAAC,IAAI,CACtC,QAAQ,KAAK,YAAY,CAAC,CAAC,CAAC,iBAAiB,CAAC,CAAC,CAAC,kBAAkB,CACjD,CAAC;AAEpB,MAAM,CAAC,MAAM,kBAAkB,GAAG,CAAC,WAAoC,EAAE,EAAE;IACzE,MAAM,aAAa,GAAG,IAAI,IAAI,CAAC,IAAI,CAAC,CAAC;IACrC,MAAM,QAAQ,GAAG,OAAO,WAAW,KAAK,QAAQ,CAAC,CAAC,CAAC,KAAK,CAAC,KAAK,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,WAAW,CAAC;IAC/F,MAAM,CAAC,GAAG,EAAE,GAAG,CAAC,GAAG,KAAK,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC,IAAI,CAAC,CAAC,EAAE,aAAa,CAAC,CAAC;IACnE,MAAM,IAAI,GAAG,IAAI,IAAI,CAAC,GAAG,CAAC,CAAC,OAAO,EAAE,GAAG,IAAI,IAAI,CAAC,GAAG,CAAC,CAAC,OAAO,EAAE,CAAC;IAC/D,OAAO,IAAI,CAAC,GAAG,CAAC,IAAI,GAAG,EAAE,GAAG,EAAE,EAAE,IAAI,CAAC,CAAC,CAAC,4BAA4B;AACrE,CAAC,CAAC;AAEF,MAAM,CAAC,MAAM,cAAc,GAAkC;IAC3D,GAAG,UAAU;IAEb,GAAG,EAAE,4BAA4B;IACjC,KAAK,EAAE,gEAAgE;IACvE,OAAO,EAAE,OAAO;IAChB,IAAI,EAAE,MAAM;IAEZ,OAAO,EAAE,CAAC,EAAE,QAAQ,EAAE,UAAU,GAAG,CAAC,EAAE,QAAQ,GAAG,eAAe,EAAE,EAAE,YAAY,EAAE,EAAE;QAClF,MAAM,iBAAiB,GAAG,UAAU,CAAC,OAAO,CAAC,EAAE,QAAQ,EAAE,MAAM,EAAE,cAAc,EAAE,EAAE,YAAY,CAAC,CAAC;QAEjG,MAAM,aAAa,GAAG,kBAAkB,CAAC,QAAQ,CAAC,CAAC;QACnD,IAAI,cAA4B,CAAC;QAEjC,OAAO;YACL,GAAG,iBAAiB;YAEpB,KAAK;gBACH,cAAc,GAAG,WAAW,CAAC,GAAG,EAAE;oBAChC,iBAAiB,CAAC,OAAO,CAAC;wBACxB,gBAAgB,EAAE,UAAU;wBAC5B,aAAa,EAAE,cAAc,CAAC,YAAY,EAAE;qBAC7C,CAAC,CAAC;gBACL,CAAC,EAAE,aAAa,CAAC,CAAC;YACpB,CAAC;YAED,IAAI;gBACF,aAAa,CAAC,cAAc,CAAC,CAAC;YAChC,CAAC;SACF,CAAC;IACJ,CAAC;CACF,CAAC"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@unchainedshop/core-worker",
|
|
3
|
-
"version": "2.2.
|
|
3
|
+
"version": "2.2.3",
|
|
4
4
|
"main": "lib/worker-index.js",
|
|
5
5
|
"exports": {
|
|
6
6
|
".": "./lib/worker-index.js",
|
|
@@ -32,13 +32,13 @@
|
|
|
32
32
|
"homepage": "https://github.com/unchainedshop/unchained#readme",
|
|
33
33
|
"dependencies": {
|
|
34
34
|
"@breejs/later": "^4.1.0",
|
|
35
|
-
"@unchainedshop/logger": "^2.2.
|
|
36
|
-
"@unchainedshop/utils": "^2.2.
|
|
35
|
+
"@unchainedshop/logger": "^2.2.3",
|
|
36
|
+
"@unchainedshop/utils": "^2.2.3",
|
|
37
37
|
"simpl-schema": "=3.2.0"
|
|
38
38
|
},
|
|
39
39
|
"devDependencies": {
|
|
40
|
-
"@types/node": "^18.16.
|
|
41
|
-
"@unchainedshop/types": "^2.2.
|
|
40
|
+
"@types/node": "^18.16.16",
|
|
41
|
+
"@unchainedshop/types": "^2.2.3",
|
|
42
42
|
"jest": "^29.5.0",
|
|
43
43
|
"ts-jest": "^29.1.0",
|
|
44
44
|
"typescript": "^4.9.5"
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import os from 'os';
|
|
2
2
|
import { Query } from '@unchainedshop/types/common.js';
|
|
3
3
|
import { ModuleInput, ModuleMutations } from '@unchainedshop/types/core.js';
|
|
4
|
-
import { Work, WorkerModule } from '@unchainedshop/types/worker.js';
|
|
4
|
+
import { Work, WorkData, WorkerModule } from '@unchainedshop/types/worker.js';
|
|
5
5
|
import { createLogger } from '@unchainedshop/logger';
|
|
6
6
|
import { generateDbFilterById, generateDbMutations, buildSortOptions } from '@unchainedshop/utils';
|
|
7
7
|
import { SortDirection } from '@unchainedshop/types/api.js';
|
|
@@ -106,7 +106,7 @@ export const configureWorkerModule = async ({
|
|
|
106
106
|
const query = buildQuerySelector({
|
|
107
107
|
status: [WorkStatus.NEW],
|
|
108
108
|
scheduled: { end: new Date() },
|
|
109
|
-
worker: { $in: [null, worker] },
|
|
109
|
+
worker: { $in: [null, '', worker] },
|
|
110
110
|
...(types ? { type: { $in: types } } : {}),
|
|
111
111
|
});
|
|
112
112
|
const result = await WorkQueue.findOneAndUpdate(
|
|
@@ -363,7 +363,15 @@ export const configureWorkerModule = async ({
|
|
|
363
363
|
|
|
364
364
|
allocateWork,
|
|
365
365
|
|
|
366
|
-
ensureOneWork: async ({
|
|
366
|
+
ensureOneWork: async ({
|
|
367
|
+
type,
|
|
368
|
+
input,
|
|
369
|
+
priority = 0,
|
|
370
|
+
scheduled,
|
|
371
|
+
timeout,
|
|
372
|
+
originalWorkId,
|
|
373
|
+
retries = 20,
|
|
374
|
+
}: WorkData) => {
|
|
367
375
|
const created = new Date();
|
|
368
376
|
const query = buildQuerySelector({
|
|
369
377
|
type,
|
|
@@ -387,6 +395,7 @@ export const configureWorkerModule = async ({
|
|
|
387
395
|
originalWorkId,
|
|
388
396
|
scheduled,
|
|
389
397
|
retries,
|
|
398
|
+
timeout,
|
|
390
399
|
created,
|
|
391
400
|
},
|
|
392
401
|
},
|
|
@@ -439,7 +448,7 @@ export const configureWorkerModule = async ({
|
|
|
439
448
|
buildQuerySelector({
|
|
440
449
|
status: [WorkStatus.ALLOCATED],
|
|
441
450
|
started: { $lte: referenceDate },
|
|
442
|
-
worker,
|
|
451
|
+
worker: { $in: [worker, '', null] }, // Don't mark work failed of other workers!
|
|
443
452
|
type: { $in: types },
|
|
444
453
|
}),
|
|
445
454
|
{ projection: { _id: true }, sort: { test: 1 } },
|
|
@@ -1,15 +1,22 @@
|
|
|
1
|
-
import { IScheduler, Work } from '@unchainedshop/types/worker.js';
|
|
1
|
+
import { IScheduler, Work, WorkData } from '@unchainedshop/types/worker.js';
|
|
2
2
|
import { log } from '@unchainedshop/logger';
|
|
3
3
|
import { WorkerDirector } from '../director/WorkerDirector.js';
|
|
4
4
|
import { WorkerEventTypes } from '../director/WorkerEventTypes.js';
|
|
5
5
|
|
|
6
|
-
export
|
|
6
|
+
export interface FailedReschedulerParams {
|
|
7
|
+
retryInput?: (
|
|
8
|
+
workData: WorkData,
|
|
9
|
+
priorInput: Record<string, any>,
|
|
10
|
+
) => Promise<Record<string, any> | null>;
|
|
11
|
+
}
|
|
12
|
+
|
|
13
|
+
export const FailedRescheduler: IScheduler<FailedReschedulerParams> = {
|
|
7
14
|
key: 'shop.unchained.scheduler.failed',
|
|
8
15
|
label: 'Reschedule failed works',
|
|
9
16
|
version: '1.0.0',
|
|
10
17
|
|
|
11
|
-
actions: (unchainedAPI) => {
|
|
12
|
-
const handleFinishedWork = ({ work }: { work: Work }) => {
|
|
18
|
+
actions: ({ retryInput }, unchainedAPI) => {
|
|
19
|
+
const handleFinishedWork = async ({ work }: { work: Work }) => {
|
|
13
20
|
if (!work.success && work.retries > 0) {
|
|
14
21
|
const now = new Date();
|
|
15
22
|
const workDelayMs = work.scheduled.getTime() - work.created.getTime();
|
|
@@ -28,14 +35,22 @@ export const FailedRescheduler: IScheduler = {
|
|
|
28
35
|
}`,
|
|
29
36
|
);
|
|
30
37
|
|
|
31
|
-
|
|
38
|
+
const workData: WorkData = {
|
|
32
39
|
type: work.type,
|
|
33
|
-
input: work.input,
|
|
34
40
|
priority: work.priority,
|
|
35
41
|
originalWorkId: work.originalWorkId || work._id,
|
|
36
42
|
retries: work.retries - 1,
|
|
43
|
+
timeout: work.timeout,
|
|
37
44
|
scheduled,
|
|
38
|
-
}
|
|
45
|
+
};
|
|
46
|
+
|
|
47
|
+
if (retryInput) {
|
|
48
|
+
workData.input = await retryInput(workData, work.input);
|
|
49
|
+
} else {
|
|
50
|
+
workData.input = work.input;
|
|
51
|
+
}
|
|
52
|
+
|
|
53
|
+
unchainedAPI.modules.worker.addWork(workData);
|
|
39
54
|
}
|
|
40
55
|
};
|
|
41
56
|
|
|
@@ -1,14 +1,10 @@
|
|
|
1
|
-
import { IWorker } from '@unchainedshop/types/worker.js';
|
|
1
|
+
import { IWorker, WorkData } from '@unchainedshop/types/worker.js';
|
|
2
2
|
import later from '@breejs/later';
|
|
3
3
|
import { log } from '@unchainedshop/logger';
|
|
4
4
|
import os from 'os';
|
|
5
5
|
import { WorkerDirector } from '../director/WorkerDirector.js';
|
|
6
6
|
|
|
7
|
-
const { UNCHAINED_WORKER_ID } = process.env;
|
|
8
|
-
|
|
9
|
-
const resolveWorkerId = (customWorkerId: string, type: string) =>
|
|
10
|
-
customWorkerId || UNCHAINED_WORKER_ID || `${os.hostname()}:${type}`;
|
|
11
|
-
|
|
7
|
+
const { UNCHAINED_WORKER_ID = os.hostname() } = process.env;
|
|
12
8
|
interface WorkerParams {
|
|
13
9
|
workerId: string;
|
|
14
10
|
worker: IWorker<any>;
|
|
@@ -27,8 +23,7 @@ export const BaseWorker: IWorker<WorkerParams> = {
|
|
|
27
23
|
},
|
|
28
24
|
|
|
29
25
|
actions: ({ workerId, worker }: WorkerParams, unchainedAPI) => {
|
|
30
|
-
|
|
31
|
-
log(`${worker.key} -> Initialized: ${resolvedWorkerId}`);
|
|
26
|
+
log(`${worker.key} -> Initialized: ${workerId || UNCHAINED_WORKER_ID} (${worker.type})`);
|
|
32
27
|
|
|
33
28
|
const workerActions = {
|
|
34
29
|
start() {
|
|
@@ -49,21 +44,26 @@ export const BaseWorker: IWorker<WorkerParams> = {
|
|
|
49
44
|
|
|
50
45
|
autorescheduleTypes: async ({ referenceDate }) => {
|
|
51
46
|
return Promise.all(
|
|
52
|
-
WorkerDirector.getAutoSchedules().map(async ([type,
|
|
53
|
-
const
|
|
54
|
-
const fixedSchedule = { ...schedule };
|
|
47
|
+
WorkerDirector.getAutoSchedules().map(async ([type, workConfig]) => {
|
|
48
|
+
const fixedSchedule = { ...workConfig.schedule };
|
|
55
49
|
fixedSchedule.schedules[0].s = [0]; // ignore seconds, always run on second 0
|
|
56
50
|
const nextDate = later.schedule(fixedSchedule).next(1, referenceDate);
|
|
57
51
|
nextDate.setMilliseconds(0);
|
|
58
|
-
|
|
52
|
+
const workData: WorkData = {
|
|
53
|
+
worker: workConfig.worker || workerId,
|
|
59
54
|
type,
|
|
60
|
-
input: input(),
|
|
61
55
|
scheduled: nextDate,
|
|
62
|
-
|
|
63
|
-
priority: priority || 0,
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
56
|
+
timeout: workConfig.timeout,
|
|
57
|
+
priority: workConfig.priority || 0,
|
|
58
|
+
retries: workConfig.retries || 0,
|
|
59
|
+
};
|
|
60
|
+
if (workConfig.input) {
|
|
61
|
+
workData.input = await workConfig.input(workData);
|
|
62
|
+
// A work input fn can skip auto scheduling a new record
|
|
63
|
+
// when it explicitly returns a falsish input instead of a dictionary
|
|
64
|
+
if (!workData.input) return null;
|
|
65
|
+
}
|
|
66
|
+
return unchainedAPI.modules.worker.ensureOneWork(workData);
|
|
67
67
|
}),
|
|
68
68
|
);
|
|
69
69
|
},
|
|
@@ -3,7 +3,11 @@ import { WorkerEventTypes } from '../director/WorkerEventTypes.js';
|
|
|
3
3
|
import { WorkerDirector } from '../director/WorkerDirector.js';
|
|
4
4
|
import { BaseWorker } from './BaseWorker.js';
|
|
5
5
|
|
|
6
|
-
export
|
|
6
|
+
export interface EventListenerWorkerParams {
|
|
7
|
+
workerId: string;
|
|
8
|
+
}
|
|
9
|
+
|
|
10
|
+
export const EventListenerWorker: IWorker<EventListenerWorkerParams> = {
|
|
7
11
|
...BaseWorker,
|
|
8
12
|
|
|
9
13
|
key: 'shop.unchained.worker.event-listener',
|
|
@@ -4,7 +4,7 @@ import { BaseWorker } from './BaseWorker.js';
|
|
|
4
4
|
|
|
5
5
|
const { NODE_ENV } = process.env;
|
|
6
6
|
|
|
7
|
-
interface
|
|
7
|
+
export interface IntervalWorkerParams {
|
|
8
8
|
workerId: string;
|
|
9
9
|
batchCount?: number;
|
|
10
10
|
schedule: WorkerSchedule | string;
|
|
@@ -22,7 +22,7 @@ export const scheduleToInterval = (scheduleRaw: WorkerSchedule | string) => {
|
|
|
22
22
|
return Math.min(1000 * 60 * 60, diff); // at least once every hour!
|
|
23
23
|
};
|
|
24
24
|
|
|
25
|
-
export const IntervalWorker: IWorker<
|
|
25
|
+
export const IntervalWorker: IWorker<IntervalWorkerParams> = {
|
|
26
26
|
...BaseWorker,
|
|
27
27
|
|
|
28
28
|
key: 'shop.unchained.worker.cron',
|