@unchainedshop/core-worker 2.5.11 → 2.6.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.
@@ -1,3 +1,3 @@
1
- import { Db } from '@unchainedshop/types/common.js';
1
+ import { mongodb } from '@unchainedshop/mongodb';
2
2
  import { Work } from '@unchainedshop/types/worker.js';
3
- export declare const WorkQueueCollection: (db: Db) => Promise<import("mongodb").Collection<Work>>;
3
+ export declare const WorkQueueCollection: (db: mongodb.Db) => Promise<mongodb.Collection<Work>>;
@@ -1,4 +1,4 @@
1
- import { buildDbIndexes } from '@unchainedshop/utils';
1
+ import { buildDbIndexes } from '@unchainedshop/mongodb';
2
2
  const ONE_DAY_IN_SECONDS = 86400;
3
3
  export const WorkQueueCollection = async (db) => {
4
4
  const WorkQueue = db.collection('work_queue');
@@ -1 +1 @@
1
- {"version":3,"file":"WorkQueueCollection.js","sourceRoot":"","sources":["../../src/db/WorkQueueCollection.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC;AAEtD,MAAM,kBAAkB,GAAG,KAAK,CAAC;AAEjC,MAAM,CAAC,MAAM,mBAAmB,GAAG,KAAK,EAAE,EAAM,EAAE,EAAE;IAClD,MAAM,SAAS,GAAG,EAAE,CAAC,UAAU,CAAO,YAAY,CAAC,CAAC;IAEpD,MAAM,cAAc,CAAO,SAAS,EAAE;QACpC;YACE,KAAK,EAAE,EAAE,OAAO,EAAE,CAAC,CAAC,EAAE;YACtB,OAAO,EAAE,EAAE,kBAAkB,EAAE,EAAE,GAAG,kBAAkB,EAAE;SACzD;QACD,EAAE,KAAK,EAAE,EAAE,OAAO,EAAE,CAAC,CAAC,EAAE,EAAE;QAC1B,EAAE,KAAK,EAAE,EAAE,QAAQ,EAAE,CAAC,EAAE,EAAE;QAC1B,EAAE,KAAK,EAAE,EAAE,SAAS,EAAE,CAAC,EAAE,EAAE;QAC3B,EAAE,KAAK,EAAE,EAAE,QAAQ,EAAE,CAAC,CAAC,EAAE,EAAE;QAC3B,EAAE,KAAK,EAAE,EAAE,IAAI,EAAE,CAAC,EAAE,EAAE;QACtB,EAAE,KAAK,EAAE,EAAE,cAAc,EAAE,CAAC,EAAE,EAAE;QAChC;YACE,KAAK,EAAE,EAAE,cAAc,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE;YAC3F,OAAO,EAAE;gBACP,OAAO,EAAE;oBACP,GAAG,EAAE,CAAC;oBACN,cAAc,EAAE,CAAC;oBACjB,IAAI,EAAE,CAAC;oBACP,MAAM,EAAE,CAAC;oBACT,KAAK,EAAE,CAAC;iBACT;gBACD,IAAI,EAAE,2BAA2B;aAClC;SACF;KACF,CAAC,CAAC;IAEH,OAAO,SAAS,CAAC;AACnB,CAAC,CAAC"}
1
+ {"version":3,"file":"WorkQueueCollection.js","sourceRoot":"","sources":["../../src/db/WorkQueueCollection.ts"],"names":[],"mappings":"AAAA,OAAO,EAAW,cAAc,EAAE,MAAM,wBAAwB,CAAC;AAGjE,MAAM,kBAAkB,GAAG,KAAK,CAAC;AAEjC,MAAM,CAAC,MAAM,mBAAmB,GAAG,KAAK,EAAE,EAAc,EAAE,EAAE;IAC1D,MAAM,SAAS,GAAG,EAAE,CAAC,UAAU,CAAO,YAAY,CAAC,CAAC;IAEpD,MAAM,cAAc,CAAO,SAAS,EAAE;QACpC;YACE,KAAK,EAAE,EAAE,OAAO,EAAE,CAAC,CAAC,EAAE;YACtB,OAAO,EAAE,EAAE,kBAAkB,EAAE,EAAE,GAAG,kBAAkB,EAAE;SACzD;QACD,EAAE,KAAK,EAAE,EAAE,OAAO,EAAE,CAAC,CAAC,EAAE,EAAE;QAC1B,EAAE,KAAK,EAAE,EAAE,QAAQ,EAAE,CAAC,EAAE,EAAE;QAC1B,EAAE,KAAK,EAAE,EAAE,SAAS,EAAE,CAAC,EAAE,EAAE;QAC3B,EAAE,KAAK,EAAE,EAAE,QAAQ,EAAE,CAAC,CAAC,EAAE,EAAE;QAC3B,EAAE,KAAK,EAAE,EAAE,IAAI,EAAE,CAAC,EAAE,EAAE;QACtB,EAAE,KAAK,EAAE,EAAE,cAAc,EAAE,CAAC,EAAE,EAAE;QAChC;YACE,KAAK,EAAE,EAAE,cAAc,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE;YAC3F,OAAO,EAAE;gBACP,OAAO,EAAE;oBACP,GAAG,EAAE,CAAC;oBACN,cAAc,EAAE,CAAC;oBACjB,IAAI,EAAE,CAAC;oBACP,MAAM,EAAE,CAAC;oBACT,KAAK,EAAE,CAAC;iBACT;gBACD,IAAI,EAAE,2BAA2B;aAClC;SACF;KACF,CAAC,CAAC;IAEH,OAAO,SAAS,CAAC;AACnB,CAAC,CAAC"}
@@ -1,6 +1,6 @@
1
- import { EventEmitter } from 'events';
2
1
  import { log, LogLevel } from '@unchainedshop/logger';
3
2
  import { BaseDirector } from '@unchainedshop/utils';
3
+ import { emit } from '@unchainedshop/events';
4
4
  import { WorkerEventTypes } from './WorkerEventTypes.js';
5
5
  export const DIRECTOR_MARKED_FAILED_ERROR = 'DIRECTOR_MARKED_FAILED';
6
6
  const AutoScheduleMap = new Map();
@@ -9,7 +9,6 @@ const baseDirector = BaseDirector('WorkerDirector', {
9
9
  });
10
10
  export const WorkerDirector = {
11
11
  ...baseDirector,
12
- events: new EventEmitter(),
13
12
  getActivePluginTypes: ({ external } = {}) => {
14
13
  return WorkerDirector.getAdapters()
15
14
  .filter((adapter) => {
@@ -48,7 +47,7 @@ export const WorkerDirector = {
48
47
  }
49
48
  try {
50
49
  const output = await adapter.doWork(input, unchainedAPI, workId);
51
- WorkerDirector.events.emit(WorkerEventTypes.DONE, { output });
50
+ emit(WorkerEventTypes.DONE, { input, workId, output });
52
51
  return output;
53
52
  }
54
53
  catch (error) {
@@ -56,8 +55,10 @@ export const WorkerDirector = {
56
55
  log('DO not use this as flow control.', { level: LogLevel.Verbose });
57
56
  log(`WorkerDirector -> Error doing work ${type}: ${error.message}`);
58
57
  const errorOutput = { error, success: false };
59
- WorkerDirector.events.emit(WorkerEventTypes.DONE, {
58
+ emit(WorkerEventTypes.DONE, {
60
59
  output: errorOutput,
60
+ input,
61
+ workId,
61
62
  });
62
63
  return errorOutput;
63
64
  }
@@ -1 +1 @@
1
- {"version":3,"file":"WorkerDirector.js","sourceRoot":"","sources":["../../src/director/WorkerDirector.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"WorkerDirector.js","sourceRoot":"","sources":["../../src/director/WorkerDirector.ts"],"names":[],"mappings":"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"}
@@ -1,8 +1,8 @@
1
1
  export declare enum WorkerEventTypes {
2
- ADDED = "added",
3
- ALLOCATED = "allocated",
4
- DONE = "done",
5
- FINISHED = "finished",
6
- DELETED = "deleted",
7
- RESCHEDULED = "rescheduled"
2
+ ADDED = "WORK_ADDED",
3
+ ALLOCATED = "WORK_ALLOCATED",
4
+ DONE = "WORK_DONE",
5
+ FINISHED = "WORK_FINISHED",
6
+ DELETED = "WORK_DELETED",
7
+ RESCHEDULED = "WORK_RESCHEDULED"
8
8
  }
@@ -1,11 +1,11 @@
1
1
  export var WorkerEventTypes;
2
2
  (function (WorkerEventTypes) {
3
- WorkerEventTypes["ADDED"] = "added";
4
- WorkerEventTypes["ALLOCATED"] = "allocated";
5
- WorkerEventTypes["DONE"] = "done";
6
- WorkerEventTypes["FINISHED"] = "finished";
7
- WorkerEventTypes["DELETED"] = "deleted";
8
- WorkerEventTypes["RESCHEDULED"] = "rescheduled";
3
+ WorkerEventTypes["ADDED"] = "WORK_ADDED";
4
+ WorkerEventTypes["ALLOCATED"] = "WORK_ALLOCATED";
5
+ WorkerEventTypes["DONE"] = "WORK_DONE";
6
+ WorkerEventTypes["FINISHED"] = "WORK_FINISHED";
7
+ WorkerEventTypes["DELETED"] = "WORK_DELETED";
8
+ WorkerEventTypes["RESCHEDULED"] = "WORK_RESCHEDULED";
9
9
  })(WorkerEventTypes || (WorkerEventTypes = {}));
10
10
  // The difference between `done` and `finished` is, that work is `done` after
11
11
  // it was computed (no DB write, could be external) and `finished` after
@@ -1 +1 @@
1
- {"version":3,"file":"WorkerEventTypes.js","sourceRoot":"","sources":["../../src/director/WorkerEventTypes.ts"],"names":[],"mappings":"AAAA,MAAM,CAAN,IAAY,gBAOX;AAPD,WAAY,gBAAgB;IAC1B,mCAAe,CAAA;IACf,2CAAuB,CAAA;IACvB,iCAAa,CAAA;IACb,yCAAqB,CAAA;IACrB,uCAAmB,CAAA;IACnB,+CAA2B,CAAA;AAC7B,CAAC,EAPW,gBAAgB,KAAhB,gBAAgB,QAO3B;AACD,6EAA6E;AAC7E,wEAAwE;AACxE,oCAAoC"}
1
+ {"version":3,"file":"WorkerEventTypes.js","sourceRoot":"","sources":["../../src/director/WorkerEventTypes.ts"],"names":[],"mappings":"AAAA,MAAM,CAAN,IAAY,gBAOX;AAPD,WAAY,gBAAgB;IAC1B,wCAAoB,CAAA;IACpB,gDAA4B,CAAA;IAC5B,sCAAkB,CAAA;IAClB,8CAA0B,CAAA;IAC1B,4CAAwB,CAAA;IACxB,oDAAgC,CAAA;AAClC,CAAC,EAPW,gBAAgB,KAAhB,gBAAgB,QAO3B;AAED,6EAA6E;AAC7E,wEAAwE;AACxE,oCAAoC"}
@@ -1,8 +1,26 @@
1
- import { Query } from '@unchainedshop/types/common.js';
2
1
  import { ModuleInput } from '@unchainedshop/types/core.js';
3
- import { WorkerModule } from '@unchainedshop/types/worker.js';
2
+ import { Work, WorkerModule, WorkerSettingsOptions } from '@unchainedshop/types/worker.js';
3
+ import { mongodb } from '@unchainedshop/mongodb';
4
4
  import { WorkStatus } from '../director/WorkStatus.js';
5
- export declare const buildQuerySelector: ({ created, scheduled, types, status, workId, queryString, ...rest }: Query & {
5
+ export declare const buildQuerySelector: ({ created, scheduled, types, status, workId, queryString, ...rest }: {
6
+ error?: any;
7
+ timeout?: mongodb.Condition<number>;
8
+ priority?: mongodb.Condition<number>;
9
+ retries?: mongodb.Condition<number>;
10
+ scheduled?: mongodb.Condition<Date>;
11
+ type?: mongodb.Condition<string>;
12
+ input?: mongodb.Condition<Record<string, any>>;
13
+ finished?: mongodb.Condition<Date>;
14
+ originalWorkId?: mongodb.Condition<string>;
15
+ result?: any;
16
+ started?: mongodb.Condition<Date>;
17
+ success?: mongodb.Condition<boolean>;
18
+ worker?: mongodb.Condition<string>;
19
+ created?: mongodb.Condition<Date>;
20
+ updated?: mongodb.Condition<Date>;
21
+ deleted?: mongodb.Condition<Date>;
22
+ _id?: mongodb.Condition<string>;
23
+ } & mongodb.RootFilterOperators<mongodb.WithId<Work>> & {
6
24
  created?: {
7
25
  end?: Date;
8
26
  start?: Date;
@@ -17,5 +35,33 @@ export declare const buildQuerySelector: ({ created, scheduled, types, status, w
17
35
  types?: Array<string>;
18
36
  }) => {
19
37
  [x: string]: any;
38
+ error?: any;
39
+ timeout?: mongodb.Condition<number>;
40
+ priority?: mongodb.Condition<number>;
41
+ retries?: mongodb.Condition<number>;
42
+ type?: mongodb.Condition<string>;
43
+ input?: mongodb.Condition<Record<string, any>>;
44
+ finished?: mongodb.Condition<Date>;
45
+ originalWorkId?: mongodb.Condition<string>;
46
+ result?: any;
47
+ started?: mongodb.Condition<Date>;
48
+ success?: mongodb.Condition<boolean>;
49
+ worker?: mongodb.Condition<string>;
50
+ updated?: mongodb.Condition<Date>;
51
+ deleted?: mongodb.Condition<Date>;
52
+ _id?: mongodb.Condition<string>;
53
+ $and?: mongodb.Filter<mongodb.WithId<Work>>[];
54
+ $nor?: mongodb.Filter<mongodb.WithId<Work>>[];
55
+ $or?: mongodb.Filter<mongodb.WithId<Work>>[];
56
+ $text?: {
57
+ $search: string;
58
+ $language?: string;
59
+ $caseSensitive?: boolean;
60
+ $diacriticSensitive?: boolean;
61
+ };
62
+ $where?: string | ((this: mongodb.WithId<Work>) => boolean);
63
+ $comment?: string | mongodb.BSON.Document;
64
+ scheduled?: mongodb.Condition<Date>;
65
+ created?: mongodb.Condition<Date>;
20
66
  };
21
- export declare const configureWorkerModule: ({ db, }: ModuleInput<Record<string, never>>) => Promise<WorkerModule>;
67
+ export declare const configureWorkerModule: ({ db, options, }: ModuleInput<WorkerSettingsOptions>) => Promise<WorkerModule>;
@@ -1,7 +1,9 @@
1
1
  import os from 'os';
2
2
  import { createLogger } from '@unchainedshop/logger';
3
- import { generateDbFilterById, generateDbMutations, buildSortOptions } from '@unchainedshop/utils';
3
+ import { generateDbFilterById, generateDbMutations, buildSortOptions, } from '@unchainedshop/mongodb';
4
4
  import { SortDirection } from '@unchainedshop/types/api.js';
5
+ import { emit, registerEvents } from '@unchainedshop/events';
6
+ import { buildObfuscatedFieldsFilter } from '@unchainedshop/utils';
5
7
  import { WorkQueueCollection } from '../db/WorkQueueCollection.js';
6
8
  import { WorkQueueSchema } from '../db/WorkQueueSchema.js';
7
9
  import { DIRECTOR_MARKED_FAILED_ERROR, WorkerDirector } from '../director/WorkerDirector.js';
@@ -62,8 +64,10 @@ const defaultSort = [
62
64
  { key: 'originalWorkId', value: SortDirection.ASC },
63
65
  { key: 'created', value: SortDirection.ASC },
64
66
  ];
65
- export const configureWorkerModule = async ({ db, }) => {
67
+ export const configureWorkerModule = async ({ db, options, }) => {
68
+ registerEvents(Object.values(WorkerEventTypes));
66
69
  const WorkQueue = await WorkQueueCollection(db);
70
+ const removePrivateFields = buildObfuscatedFieldsFilter(options?.blacklistedVariables);
67
71
  const mutations = generateDbMutations(WorkQueue, WorkQueueSchema);
68
72
  const allocateWork = async ({ types, worker = UNCHAINED_WORKER_ID }) => {
69
73
  // Find a work item that is scheduled for now and is not started.
@@ -79,10 +83,10 @@ export const configureWorkerModule = async ({ db, }) => {
79
83
  const result = await WorkQueue.findOneAndUpdate(query, {
80
84
  $set: { started: new Date(), worker },
81
85
  }, { sort: buildSortOptions(defaultSort), returnDocument: 'after' });
82
- WorkerDirector.events.emit(WorkerEventTypes.ALLOCATED, {
83
- work: result.value,
84
- });
85
- return result.value;
86
+ if (result) {
87
+ emit(WorkerEventTypes.ALLOCATED, removePrivateFields(result));
88
+ }
89
+ return result;
86
90
  };
87
91
  const finishWork = async (workId, { error, finished = new Date(), result, started = new Date(), success, worker = UNCHAINED_WORKER_ID, }) => {
88
92
  const workBeforeUpdate = await WorkQueue.findOne(buildQuerySelector({ workId, status: [WorkStatus.ALLOCATED] }));
@@ -113,7 +117,7 @@ export const configureWorkerModule = async ({ db, }) => {
113
117
  });
114
118
  }
115
119
  logger.debug(`work details:`, { work });
116
- WorkerDirector.events.emit(WorkerEventTypes.FINISHED, { work });
120
+ emit(WorkerEventTypes.FINISHED, removePrivateFields(work));
117
121
  return work;
118
122
  };
119
123
  const processNextWork = async (unchainedAPI, workerId) => {
@@ -184,12 +188,11 @@ export const configureWorkerModule = async ({ db, }) => {
184
188
  findWork: async ({ workId, originalWorkId }) => WorkQueue.findOne(workId ? generateDbFilterById(workId) : { originalWorkId }, {}),
185
189
  findWorkQueue: async ({ limit, skip, sort, ...selectorOptions }) => {
186
190
  const selector = buildQuerySelector(selectorOptions);
187
- const workQueues = WorkQueue.find(selector, {
191
+ return WorkQueue.find(selector, {
188
192
  skip,
189
193
  limit,
190
194
  sort: buildSortOptions(sort || defaultSort),
191
- });
192
- return workQueues.toArray();
195
+ }).toArray();
193
196
  },
194
197
  count: async (query) => {
195
198
  return WorkQueue.countDocuments(buildQuerySelector(query));
@@ -244,7 +247,7 @@ export const configureWorkerModule = async ({ db, }) => {
244
247
  workId,
245
248
  });
246
249
  const work = await WorkQueue.findOne(generateDbFilterById(workId), {});
247
- WorkerDirector.events.emit(WorkerEventTypes.ADDED, { work });
250
+ emit(WorkerEventTypes.ADDED, removePrivateFields(work));
248
251
  return work;
249
252
  },
250
253
  rescheduleWork: async (currentWork, scheduled) => {
@@ -254,8 +257,8 @@ export const configureWorkerModule = async ({ db, }) => {
254
257
  },
255
258
  });
256
259
  const work = await WorkQueue.findOne(generateDbFilterById(currentWork._id), {});
257
- WorkerDirector.events.emit(WorkerEventTypes.RESCHEDULED, {
258
- work,
260
+ emit(WorkerEventTypes.RESCHEDULED, {
261
+ work: removePrivateFields(work),
259
262
  oldScheduled: currentWork.scheduled,
260
263
  });
261
264
  return work;
@@ -289,15 +292,14 @@ export const configureWorkerModule = async ({ db, }) => {
289
292
  }, {
290
293
  sort: buildSortOptions(defaultSort),
291
294
  returnDocument: 'after',
295
+ includeResultMetadata: true,
292
296
  upsert: true,
293
297
  });
294
298
  if (!result.lastErrorObject.updatedExisting) {
295
299
  logger.info(`${type} auto-scheduled @ ${new Date(scheduled).toISOString()}`, {
296
300
  workId,
297
301
  });
298
- WorkerDirector.events.emit(WorkerEventTypes.ADDED, {
299
- work: result.value,
300
- });
302
+ emit(WorkerEventTypes.ADDED, removePrivateFields(result.value));
301
303
  }
302
304
  return result.value;
303
305
  }
@@ -321,7 +323,7 @@ export const configureWorkerModule = async ({ db, }) => {
321
323
  return null;
322
324
  await mutations.delete(workId);
323
325
  const work = await WorkQueue.findOne(generateDbFilterById(workId), {});
324
- WorkerDirector.events.emit(WorkerEventTypes.DELETED, { work });
326
+ emit(WorkerEventTypes.DELETED, removePrivateFields(work));
325
327
  return work;
326
328
  },
327
329
  markOldWorkAsFailed: async ({ types, worker = UNCHAINED_WORKER_ID, referenceDate }) => {
@@ -1 +1 @@
1
- {"version":3,"file":"configureWorkerModule.js","sourceRoot":"","sources":["../../src/module/configureWorkerModule.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"configureWorkerModule.js","sourceRoot":"","sources":["../../src/module/configureWorkerModule.ts"],"names":[],"mappings":"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"}
@@ -1,12 +1,12 @@
1
1
  import { log } from '@unchainedshop/logger';
2
- import { WorkerDirector } from '../director/WorkerDirector.js';
2
+ import { subscribe } from '@unchainedshop/events';
3
3
  import { WorkerEventTypes } from '../director/WorkerEventTypes.js';
4
4
  export const FailedRescheduler = {
5
5
  key: 'shop.unchained.scheduler.failed',
6
6
  label: 'Reschedule failed works',
7
7
  version: '1.0.0',
8
8
  actions: ({ retryInput }, unchainedAPI) => {
9
- const handleFinishedWork = async ({ work }) => {
9
+ const handleFinishedWork = async ({ payload: 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();
@@ -34,10 +34,10 @@ export const FailedRescheduler = {
34
34
  };
35
35
  return {
36
36
  start() {
37
- WorkerDirector.events.on(WorkerEventTypes.FINISHED, handleFinishedWork);
37
+ subscribe(WorkerEventTypes.FINISHED, handleFinishedWork);
38
38
  },
39
39
  stop() {
40
- WorkerDirector.events.off(WorkerEventTypes.FINISHED, handleFinishedWork);
40
+ /* */
41
41
  },
42
42
  };
43
43
  },
@@ -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;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,CAAC;gBACtC,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,CAAC;oBACf,QAAQ,CAAC,KAAK,GAAG,MAAM,UAAU,CAAC,QAAQ,EAAE,IAAI,CAAC,KAAK,CAAC,CAAC;gBAC1D,CAAC;qBAAM,CAAC;oBACN,QAAQ,CAAC,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC;gBAC9B,CAAC;gBAED,YAAY,CAAC,OAAO,CAAC,MAAM,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC;YAChD,CAAC;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"}
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,SAAS,EAAE,MAAM,uBAAuB,CAAC;AAClD,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,OAAO,EAAE,IAAI,EAAqB,EAAE,EAAE;YACxE,IAAI,CAAC,IAAI,CAAC,OAAO,IAAI,IAAI,CAAC,OAAO,GAAG,CAAC,EAAE,CAAC;gBACtC,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,CAAC;oBACf,QAAQ,CAAC,KAAK,GAAG,MAAM,UAAU,CAAC,QAAQ,EAAE,IAAI,CAAC,KAAK,CAAC,CAAC;gBAC1D,CAAC;qBAAM,CAAC;oBACN,QAAQ,CAAC,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC;gBAC9B,CAAC;gBAED,YAAY,CAAC,OAAO,CAAC,MAAM,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC;YAChD,CAAC;QACH,CAAC,CAAC;QAEF,OAAO;YACL,KAAK;gBACH,SAAS,CAAO,gBAAgB,CAAC,QAAQ,EAAE,kBAAkB,CAAC,CAAC;YACjE,CAAC;YAED,IAAI;gBACF,KAAK;YACP,CAAC;SACF,CAAC;IACJ,CAAC;CACF,CAAC"}
@@ -1,5 +1,5 @@
1
+ import { subscribe } from '@unchainedshop/events';
1
2
  import { WorkerEventTypes } from '../director/WorkerEventTypes.js';
2
- import { WorkerDirector } from '../director/WorkerDirector.js';
3
3
  import { BaseWorker } from './BaseWorker.js';
4
4
  function debounce(func, wait) {
5
5
  let timeout;
@@ -29,8 +29,8 @@ export const EventListenerWorker = {
29
29
  return {
30
30
  ...baseWorkerActions,
31
31
  start() {
32
- WorkerDirector.events.on(WorkerEventTypes.ADDED, processWorkQueue);
33
- WorkerDirector.events.on(WorkerEventTypes.FINISHED, processWorkQueue);
32
+ subscribe(WorkerEventTypes.ADDED, processWorkQueue);
33
+ subscribe(WorkerEventTypes.FINISHED, processWorkQueue);
34
34
  setTimeout(async () => {
35
35
  await baseWorkerActions.autorescheduleTypes({
36
36
  referenceDate: EventListenerWorker.getFloorDate(),
@@ -38,8 +38,7 @@ export const EventListenerWorker = {
38
38
  }, 300);
39
39
  },
40
40
  stop() {
41
- WorkerDirector.events.off(WorkerEventTypes.ADDED, processWorkQueue);
42
- WorkerDirector.events.off(WorkerEventTypes.FINISHED, processWorkQueue);
41
+ /* */
43
42
  },
44
43
  };
45
44
  },
@@ -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;AAE7C,SAAS,QAAQ,CAAkC,IAAO,EAAE,IAAI;IAC9D,IAAI,OAAO,CAAC;IACZ,OAAO,CAAC,GAAG,IAAI,EAAE,EAAE;QACjB,YAAY,CAAC,OAAO,CAAC,CAAC;QACtB,OAAO,GAAG,UAAU,CAAC,GAAG,EAAE;YACxB,OAAO,GAAG,IAAI,CAAC;YACf,IAAI,CAAC,GAAG,IAAI,CAAC,CAAC;QAChB,CAAC,EAAE,IAAI,CAAC,CAAC;IACX,CAAC,CAAC;AACJ,CAAC;AAMD,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,MAAM,iBAAiB,GAAG,UAAU,CAAC,OAAO,CAC1C,EAAE,QAAQ,EAAE,MAAM,EAAE,mBAAmB,EAAE,EACzC,YAAY,CACb,CAAC;QAEF,8EAA8E;QAC9E,MAAM,gBAAgB,GAAG,QAAQ,CAAsB,KAAK,IAAI,EAAE;YAChE,MAAM,iBAAiB,CAAC,OAAO,CAAC;gBAC9B,gBAAgB,EAAE,CAAC,EAAE,+DAA+D;gBACpF,aAAa,EAAE,mBAAmB,CAAC,YAAY,EAAE;aAClD,CAAC,CAAC;QACL,CAAC,EAAE,GAAG,CAAC,CAAC;QAER,OAAO;YACL,GAAG,iBAAiB;YAEpB,KAAK;gBACH,cAAc,CAAC,MAAM,CAAC,EAAE,CAAC,gBAAgB,CAAC,KAAK,EAAE,gBAAgB,CAAC,CAAC;gBACnE,cAAc,CAAC,MAAM,CAAC,EAAE,CAAC,gBAAgB,CAAC,QAAQ,EAAE,gBAAgB,CAAC,CAAC;gBAEtE,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,gBAAgB,CAAC,CAAC;gBACpE,cAAc,CAAC,MAAM,CAAC,GAAG,CAAC,gBAAgB,CAAC,QAAQ,EAAE,gBAAgB,CAAC,CAAC;YACzE,CAAC;SACF,CAAC;IACJ,CAAC;CACF,CAAC"}
1
+ {"version":3,"file":"EventListenerWorker.js","sourceRoot":"","sources":["../../src/workers/EventListenerWorker.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,SAAS,EAAE,MAAM,uBAAuB,CAAC;AAClD,OAAO,EAAE,gBAAgB,EAAE,MAAM,iCAAiC,CAAC;AACnE,OAAO,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAC;AAE7C,SAAS,QAAQ,CAAkC,IAAO,EAAE,IAAI;IAC9D,IAAI,OAAO,CAAC;IACZ,OAAO,CAAC,GAAG,IAAI,EAAE,EAAE;QACjB,YAAY,CAAC,OAAO,CAAC,CAAC;QACtB,OAAO,GAAG,UAAU,CAAC,GAAG,EAAE;YACxB,OAAO,GAAG,IAAI,CAAC;YACf,IAAI,CAAC,GAAG,IAAI,CAAC,CAAC;QAChB,CAAC,EAAE,IAAI,CAAC,CAAC;IACX,CAAC,CAAC;AACJ,CAAC;AAMD,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,MAAM,iBAAiB,GAAG,UAAU,CAAC,OAAO,CAC1C,EAAE,QAAQ,EAAE,MAAM,EAAE,mBAAmB,EAAE,EACzC,YAAY,CACb,CAAC;QAEF,8EAA8E;QAC9E,MAAM,gBAAgB,GAAG,QAAQ,CAAsB,KAAK,IAAI,EAAE;YAChE,MAAM,iBAAiB,CAAC,OAAO,CAAC;gBAC9B,gBAAgB,EAAE,CAAC,EAAE,+DAA+D;gBACpF,aAAa,EAAE,mBAAmB,CAAC,YAAY,EAAE;aAClD,CAAC,CAAC;QACL,CAAC,EAAE,GAAG,CAAC,CAAC;QAER,OAAO;YACL,GAAG,iBAAiB;YAEpB,KAAK;gBACH,SAAS,CAAC,gBAAgB,CAAC,KAAK,EAAE,gBAAgB,CAAC,CAAC;gBACpD,SAAS,CAAC,gBAAgB,CAAC,QAAQ,EAAE,gBAAgB,CAAC,CAAC;gBAEvD,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,KAAK;YACP,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.5.11",
3
+ "version": "2.6.0",
4
4
  "main": "lib/worker-index.js",
5
5
  "exports": {
6
6
  ".": "./lib/worker-index.js",
@@ -32,15 +32,15 @@
32
32
  "homepage": "https://github.com/unchainedshop/unchained#readme",
33
33
  "dependencies": {
34
34
  "@breejs/later": "^4.2.0",
35
- "@unchainedshop/logger": "^2.5.11",
36
- "@unchainedshop/utils": "^2.5.11",
35
+ "@unchainedshop/logger": "^2.6.0",
36
+ "@unchainedshop/utils": "^2.6.0",
37
37
  "simpl-schema": "=3.2.0"
38
38
  },
39
39
  "devDependencies": {
40
- "@types/node": "^20.9.0",
41
- "@unchainedshop/types": "^2.5.11",
40
+ "@types/node": "^20.11.6",
41
+ "@unchainedshop/types": "^2.6.0",
42
42
  "jest": "^29.7.0",
43
- "ts-jest": "^29.1.1",
44
- "typescript": "^5.3.2"
43
+ "ts-jest": "^29.1.2",
44
+ "typescript": "^5.3.3"
45
45
  }
46
46
  }
@@ -1,10 +1,9 @@
1
- import { Db } from '@unchainedshop/types/common.js';
1
+ import { mongodb, buildDbIndexes } from '@unchainedshop/mongodb';
2
2
  import { Work } from '@unchainedshop/types/worker.js';
3
- import { buildDbIndexes } from '@unchainedshop/utils';
4
3
 
5
4
  const ONE_DAY_IN_SECONDS = 86400;
6
5
 
7
- export const WorkQueueCollection = async (db: Db) => {
6
+ export const WorkQueueCollection = async (db: mongodb.Db) => {
8
7
  const WorkQueue = db.collection<Work>('work_queue');
9
8
 
10
9
  await buildDbIndexes<Work>(WorkQueue, [
@@ -1,4 +1,3 @@
1
- import { EventEmitter } from 'events';
2
1
  import {
3
2
  IWorkerAdapter,
4
3
  IWorkerDirector,
@@ -6,6 +5,7 @@ import {
6
5
  } from '@unchainedshop/types/worker.js';
7
6
  import { log, LogLevel } from '@unchainedshop/logger';
8
7
  import { BaseDirector } from '@unchainedshop/utils';
8
+ import { emit } from '@unchainedshop/events';
9
9
  import { WorkerEventTypes } from './WorkerEventTypes.js';
10
10
 
11
11
  export const DIRECTOR_MARKED_FAILED_ERROR = 'DIRECTOR_MARKED_FAILED';
@@ -19,8 +19,6 @@ const baseDirector = BaseDirector<IWorkerAdapter<any, any>>('WorkerDirector', {
19
19
  export const WorkerDirector: IWorkerDirector = {
20
20
  ...baseDirector,
21
21
 
22
- events: new EventEmitter(),
23
-
24
22
  getActivePluginTypes: ({ external } = {}) => {
25
23
  return WorkerDirector.getAdapters()
26
24
  .filter((adapter) => {
@@ -71,7 +69,7 @@ export const WorkerDirector: IWorkerDirector = {
71
69
 
72
70
  try {
73
71
  const output = await adapter.doWork(input, unchainedAPI, workId);
74
- WorkerDirector.events.emit(WorkerEventTypes.DONE, { output });
72
+ emit(WorkerEventTypes.DONE, { input, workId, output });
75
73
  return output;
76
74
  } catch (error) {
77
75
  // DO not use this as flow control. The adapter should catch expected errors and return status: FAILED
@@ -80,8 +78,10 @@ export const WorkerDirector: IWorkerDirector = {
80
78
 
81
79
  const errorOutput = { error, success: false };
82
80
 
83
- WorkerDirector.events.emit(WorkerEventTypes.DONE, {
81
+ emit(WorkerEventTypes.DONE, {
84
82
  output: errorOutput,
83
+ input,
84
+ workId,
85
85
  });
86
86
 
87
87
  return errorOutput;
@@ -1,11 +1,12 @@
1
1
  export enum WorkerEventTypes {
2
- ADDED = 'added',
3
- ALLOCATED = 'allocated',
4
- DONE = 'done',
5
- FINISHED = 'finished',
6
- DELETED = 'deleted',
7
- RESCHEDULED = 'rescheduled',
2
+ ADDED = 'WORK_ADDED',
3
+ ALLOCATED = 'WORK_ALLOCATED',
4
+ DONE = 'WORK_DONE',
5
+ FINISHED = 'WORK_FINISHED',
6
+ DELETED = 'WORK_DELETED',
7
+ RESCHEDULED = 'WORK_RESCHEDULED',
8
8
  }
9
+
9
10
  // The difference between `done` and `finished` is, that work is `done` after
10
11
  // it was computed (no DB write, could be external) and `finished` after
11
12
  // the changes are written to the DB
@@ -1,10 +1,16 @@
1
1
  import os from 'os';
2
- import { Query } from '@unchainedshop/types/common.js';
3
2
  import { ModuleInput, ModuleMutations } from '@unchainedshop/types/core.js';
4
- import { Work, WorkData, WorkerModule } from '@unchainedshop/types/worker.js';
3
+ import { Work, WorkData, WorkerModule, WorkerSettingsOptions } from '@unchainedshop/types/worker.js';
5
4
  import { createLogger } from '@unchainedshop/logger';
6
- import { generateDbFilterById, generateDbMutations, buildSortOptions } from '@unchainedshop/utils';
5
+ import {
6
+ generateDbFilterById,
7
+ generateDbMutations,
8
+ buildSortOptions,
9
+ mongodb,
10
+ } from '@unchainedshop/mongodb';
7
11
  import { SortDirection } from '@unchainedshop/types/api.js';
12
+ import { emit, registerEvents } from '@unchainedshop/events';
13
+ import { buildObfuscatedFieldsFilter } from '@unchainedshop/utils';
8
14
  import { WorkQueueCollection } from '../db/WorkQueueCollection.js';
9
15
  import { WorkQueueSchema } from '../db/WorkQueueSchema.js';
10
16
  import { DIRECTOR_MARKED_FAILED_ERROR, WorkerDirector } from '../director/WorkerDirector.js';
@@ -23,7 +29,7 @@ export const buildQuerySelector = ({
23
29
  workId,
24
30
  queryString,
25
31
  ...rest
26
- }: Query & {
32
+ }: mongodb.Filter<Work> & {
27
33
  created?: { end?: Date; start?: Date };
28
34
  scheduled?: { end?: Date; start?: Date };
29
35
  status?: Array<WorkStatus>;
@@ -60,7 +66,8 @@ export const buildQuerySelector = ({
60
66
  ),
61
67
  };
62
68
 
63
- let query: Query = statusQuery.$or.length > 0 ? statusQuery : { deleted: { $exists: false } };
69
+ let query: mongodb.Filter<Work> =
70
+ statusQuery.$or.length > 0 ? statusQuery : { deleted: { $exists: false } };
64
71
 
65
72
  if (created) {
66
73
  query.created = created?.end
@@ -79,7 +86,7 @@ export const buildQuerySelector = ({
79
86
  if (workId) {
80
87
  query = generateDbFilterById(workId, query);
81
88
  }
82
- if (queryString) query.$text = { $search: queryString };
89
+ if (queryString) (query as any).$text = { $search: queryString };
83
90
 
84
91
  return { ...query, ...rest };
85
92
  };
@@ -93,9 +100,14 @@ const defaultSort: Array<{ key: string; value: SortDirection }> = [
93
100
 
94
101
  export const configureWorkerModule = async ({
95
102
  db,
96
- }: ModuleInput<Record<string, never>>): Promise<WorkerModule> => {
103
+ options,
104
+ }: ModuleInput<WorkerSettingsOptions>): Promise<WorkerModule> => {
105
+ registerEvents(Object.values(WorkerEventTypes));
106
+
97
107
  const WorkQueue = await WorkQueueCollection(db);
98
108
 
109
+ const removePrivateFields = buildObfuscatedFieldsFilter(options?.blacklistedVariables);
110
+
99
111
  const mutations = generateDbMutations<Work>(WorkQueue, WorkQueueSchema) as ModuleMutations<Work>;
100
112
 
101
113
  const allocateWork: WorkerModule['allocateWork'] = async ({ types, worker = UNCHAINED_WORKER_ID }) => {
@@ -117,11 +129,11 @@ export const configureWorkerModule = async ({
117
129
  { sort: buildSortOptions(defaultSort), returnDocument: 'after' },
118
130
  );
119
131
 
120
- WorkerDirector.events.emit(WorkerEventTypes.ALLOCATED, {
121
- work: result.value,
122
- });
132
+ if (result) {
133
+ emit(WorkerEventTypes.ALLOCATED, removePrivateFields(result));
134
+ }
123
135
 
124
- return result.value;
136
+ return result;
125
137
  };
126
138
 
127
139
  const finishWork: WorkerModule['finishWork'] = async (
@@ -167,8 +179,7 @@ export const configureWorkerModule = async ({
167
179
  });
168
180
  }
169
181
  logger.debug(`work details:`, { work });
170
-
171
- WorkerDirector.events.emit(WorkerEventTypes.FINISHED, { work });
182
+ emit(WorkerEventTypes.FINISHED, removePrivateFields(work));
172
183
 
173
184
  return work;
174
185
  };
@@ -256,13 +267,11 @@ export const configureWorkerModule = async ({
256
267
 
257
268
  findWorkQueue: async ({ limit, skip, sort, ...selectorOptions }) => {
258
269
  const selector = buildQuerySelector(selectorOptions);
259
- const workQueues = WorkQueue.find(selector, {
270
+ return WorkQueue.find(selector, {
260
271
  skip,
261
272
  limit,
262
273
  sort: buildSortOptions(sort || defaultSort),
263
- });
264
-
265
- return workQueues.toArray();
274
+ }).toArray();
266
275
  },
267
276
 
268
277
  count: async (query) => {
@@ -339,8 +348,7 @@ export const configureWorkerModule = async ({
339
348
  });
340
349
 
341
350
  const work = await WorkQueue.findOne(generateDbFilterById(workId), {});
342
-
343
- WorkerDirector.events.emit(WorkerEventTypes.ADDED, { work });
351
+ emit(WorkerEventTypes.ADDED, removePrivateFields(work));
344
352
 
345
353
  return work;
346
354
  },
@@ -353,9 +361,8 @@ export const configureWorkerModule = async ({
353
361
  });
354
362
 
355
363
  const work = await WorkQueue.findOne(generateDbFilterById(currentWork._id), {});
356
-
357
- WorkerDirector.events.emit(WorkerEventTypes.RESCHEDULED, {
358
- work,
364
+ emit(WorkerEventTypes.RESCHEDULED, {
365
+ work: removePrivateFields(work),
359
366
  oldScheduled: currentWork.scheduled,
360
367
  });
361
368
 
@@ -403,18 +410,15 @@ export const configureWorkerModule = async ({
403
410
  {
404
411
  sort: buildSortOptions(defaultSort),
405
412
  returnDocument: 'after',
413
+ includeResultMetadata: true,
406
414
  upsert: true,
407
415
  },
408
416
  );
409
-
410
417
  if (!result.lastErrorObject.updatedExisting) {
411
418
  logger.info(`${type} auto-scheduled @ ${new Date(scheduled).toISOString()}`, {
412
419
  workId,
413
420
  });
414
-
415
- WorkerDirector.events.emit(WorkerEventTypes.ADDED, {
416
- work: result.value,
417
- });
421
+ emit(WorkerEventTypes.ADDED, removePrivateFields(result.value));
418
422
  }
419
423
  return result.value;
420
424
  } catch (e) {
@@ -443,8 +447,7 @@ export const configureWorkerModule = async ({
443
447
  await mutations.delete(workId);
444
448
 
445
449
  const work = await WorkQueue.findOne(generateDbFilterById(workId), {});
446
-
447
- WorkerDirector.events.emit(WorkerEventTypes.DELETED, { work });
450
+ emit(WorkerEventTypes.DELETED, removePrivateFields(work));
448
451
 
449
452
  return work;
450
453
  },
@@ -1,6 +1,6 @@
1
1
  import { IScheduler, Work, WorkData } from '@unchainedshop/types/worker.js';
2
2
  import { log } from '@unchainedshop/logger';
3
- import { WorkerDirector } from '../director/WorkerDirector.js';
3
+ import { subscribe } from '@unchainedshop/events';
4
4
  import { WorkerEventTypes } from '../director/WorkerEventTypes.js';
5
5
 
6
6
  export interface FailedReschedulerParams {
@@ -16,7 +16,7 @@ export const FailedRescheduler: IScheduler<FailedReschedulerParams> = {
16
16
  version: '1.0.0',
17
17
 
18
18
  actions: ({ retryInput }, unchainedAPI) => {
19
- const handleFinishedWork = async ({ work }: { work: Work }) => {
19
+ const handleFinishedWork = async ({ payload: work }: { payload: Work }) => {
20
20
  if (!work.success && work.retries > 0) {
21
21
  const now = new Date();
22
22
  const workDelayMs = work.scheduled.getTime() - work.created.getTime();
@@ -56,11 +56,11 @@ export const FailedRescheduler: IScheduler<FailedReschedulerParams> = {
56
56
 
57
57
  return {
58
58
  start() {
59
- WorkerDirector.events.on(WorkerEventTypes.FINISHED, handleFinishedWork);
59
+ subscribe<Work>(WorkerEventTypes.FINISHED, handleFinishedWork);
60
60
  },
61
61
 
62
62
  stop() {
63
- WorkerDirector.events.off(WorkerEventTypes.FINISHED, handleFinishedWork);
63
+ /* */
64
64
  },
65
65
  };
66
66
  },
@@ -1,6 +1,6 @@
1
1
  import { IWorker } from '@unchainedshop/types/worker.js';
2
+ import { subscribe } from '@unchainedshop/events';
2
3
  import { WorkerEventTypes } from '../director/WorkerEventTypes.js';
3
- import { WorkerDirector } from '../director/WorkerDirector.js';
4
4
  import { BaseWorker } from './BaseWorker.js';
5
5
 
6
6
  function debounce<T extends (...args: any) => any>(func: T, wait) {
@@ -44,8 +44,8 @@ export const EventListenerWorker: IWorker<EventListenerWorkerParams> = {
44
44
  ...baseWorkerActions,
45
45
 
46
46
  start() {
47
- WorkerDirector.events.on(WorkerEventTypes.ADDED, processWorkQueue);
48
- WorkerDirector.events.on(WorkerEventTypes.FINISHED, processWorkQueue);
47
+ subscribe(WorkerEventTypes.ADDED, processWorkQueue);
48
+ subscribe(WorkerEventTypes.FINISHED, processWorkQueue);
49
49
 
50
50
  setTimeout(async () => {
51
51
  await baseWorkerActions.autorescheduleTypes({
@@ -55,8 +55,7 @@ export const EventListenerWorker: IWorker<EventListenerWorkerParams> = {
55
55
  },
56
56
 
57
57
  stop() {
58
- WorkerDirector.events.off(WorkerEventTypes.ADDED, processWorkQueue);
59
- WorkerDirector.events.off(WorkerEventTypes.FINISHED, processWorkQueue);
58
+ /* */
60
59
  },
61
60
  };
62
61
  },