@cleverbrush/scheduler 1.0.0-beta.6 → 1.0.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/README.md +65 -0
- package/dist/ScheduleCalculator.js +5 -6
- package/dist/ScheduleCalculator.js.map +1 -1
- package/dist/index.d.ts +39 -0
- package/dist/index.js +64 -33
- package/dist/index.js.map +1 -1
- package/dist/jobRepository.js +1 -5
- package/dist/jobRepository.js.map +1 -1
- package/dist/types.d.ts +1339 -337
- package/dist/types.js +43 -60
- package/dist/types.js.map +1 -1
- package/package.json +31 -16
- package/src/ScheduleCalculator.test.ts +0 -484
- package/src/ScheduleCalculator.ts +0 -358
- package/src/index.ts +0 -522
- package/src/jobRepository.ts +0 -142
- package/src/types.ts +0 -228
- package/tsconfig.json +0 -17
package/README.md
CHANGED
|
@@ -1 +1,66 @@
|
|
|
1
1
|
# Task scheduler for NodeJS
|
|
2
|
+
|
|
3
|
+
To install the scheduler, run:
|
|
4
|
+
|
|
5
|
+
```bash
|
|
6
|
+
npm install @cleverbrush/scheduler
|
|
7
|
+
```
|
|
8
|
+
|
|
9
|
+
This library makes use of Node.js `worker_threads` module to run tasks in parallel. It's tested
|
|
10
|
+
on Node.js v16, but should work on older versions as well.
|
|
11
|
+
|
|
12
|
+
### An example:
|
|
13
|
+
|
|
14
|
+
```typescript
|
|
15
|
+
import { JobScheduler } from '@cleverbrush/scheduler';
|
|
16
|
+
|
|
17
|
+
const scheduler = new JobScheduler({
|
|
18
|
+
rootFolder: '/some/path/to/your/tasks/root/folder'
|
|
19
|
+
});
|
|
20
|
+
|
|
21
|
+
scheduler.addJob({
|
|
22
|
+
id: 'my-job-1',
|
|
23
|
+
path: 'path/to/file/under/rootFolder/job1.js',
|
|
24
|
+
schedule: {
|
|
25
|
+
every: 'minute',
|
|
26
|
+
// every 5 minutes
|
|
27
|
+
interval: 5,
|
|
28
|
+
timeout: 1000 * 60 * 4,
|
|
29
|
+
maxRetries: 3
|
|
30
|
+
}
|
|
31
|
+
});
|
|
32
|
+
|
|
33
|
+
scheduler.addJob({
|
|
34
|
+
id: 'my-job-2',
|
|
35
|
+
path: 'another/path/to/file/under/rootFolder/job2.js',
|
|
36
|
+
schedule: {
|
|
37
|
+
every: 'week',
|
|
38
|
+
// every second week
|
|
39
|
+
interval: 2,
|
|
40
|
+
// at Monday, Wednesday and Friday
|
|
41
|
+
dayOfWeek: [1, 3, 5],
|
|
42
|
+
// at 9:30 AM (UTC)
|
|
43
|
+
hour: 9,
|
|
44
|
+
minute 30,
|
|
45
|
+
timeout: 1000 * 60 * 4,
|
|
46
|
+
maxRetries: 3
|
|
47
|
+
}
|
|
48
|
+
});
|
|
49
|
+
|
|
50
|
+
scheduler.start();
|
|
51
|
+
```
|
|
52
|
+
|
|
53
|
+
This will run `job1.js` and `job2.js` according to the schedules defined in the code above.
|
|
54
|
+
You can subscribe to several events to get notified about the job status:
|
|
55
|
+
|
|
56
|
+
```typescript
|
|
57
|
+
scheduler.on(
|
|
58
|
+
'job:start',
|
|
59
|
+
({ jobId, instanceId, stdout, stderr, startDate, endDate }) => {
|
|
60
|
+
console.log(`Job ${jobId} started`);
|
|
61
|
+
}
|
|
62
|
+
);
|
|
63
|
+
|
|
64
|
+
// other possible events are 'job:end', 'job:error', 'job:timeout', 'job:message'
|
|
65
|
+
// passing the same parameters to callback as above
|
|
66
|
+
```
|
|
@@ -1,6 +1,3 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.ScheduleCalculator = void 0;
|
|
4
1
|
const MS_IN_DAY = 1000 * 60 * 60 * 24;
|
|
5
2
|
const MS_IN_WEEK = MS_IN_DAY * 7;
|
|
6
3
|
const getDayOfWeek = (date) => {
|
|
@@ -12,7 +9,7 @@ const getDayOfWeek = (date) => {
|
|
|
12
9
|
const getNumberOfDaysInMonth = (date) => {
|
|
13
10
|
return new Date(Date.UTC(date.getUTCFullYear(), date.getUTCMonth() + 1, 0, 0, 0, 0, 0)).getDate();
|
|
14
11
|
};
|
|
15
|
-
class ScheduleCalculator {
|
|
12
|
+
export class ScheduleCalculator {
|
|
16
13
|
#schedule;
|
|
17
14
|
#currentDate = new Date();
|
|
18
15
|
#hour = 9;
|
|
@@ -97,7 +94,8 @@ class ScheduleCalculator {
|
|
|
97
94
|
}
|
|
98
95
|
if (this.#schedule.dayOfWeek.includes(getDayOfWeek(date))) {
|
|
99
96
|
const dateWithTime = new Date(Date.UTC(date.getUTCFullYear(), date.getUTCMonth(), date.getUTCDate(), this.#hour, this.#minute, 0, 0));
|
|
100
|
-
if (dateWithTime >
|
|
97
|
+
if (dateWithTime >
|
|
98
|
+
this.#schedule.startsOn) {
|
|
101
99
|
candidate = dateWithTime;
|
|
102
100
|
found = true;
|
|
103
101
|
break;
|
|
@@ -184,6 +182,8 @@ class ScheduleCalculator {
|
|
|
184
182
|
}
|
|
185
183
|
if (typeof span !== 'number')
|
|
186
184
|
return this.#hasNext;
|
|
185
|
+
if (!this.#next)
|
|
186
|
+
return false;
|
|
187
187
|
return this.#next.getTime() - new Date().getTime() <= span;
|
|
188
188
|
}
|
|
189
189
|
next() {
|
|
@@ -206,5 +206,4 @@ class ScheduleCalculator {
|
|
|
206
206
|
};
|
|
207
207
|
}
|
|
208
208
|
}
|
|
209
|
-
exports.ScheduleCalculator = ScheduleCalculator;
|
|
210
209
|
//# sourceMappingURL=ScheduleCalculator.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ScheduleCalculator.js","sourceRoot":"","sources":["../src/ScheduleCalculator.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"ScheduleCalculator.js","sourceRoot":"","sources":["../src/ScheduleCalculator.ts"],"names":[],"mappings":"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"}
|
package/dist/index.d.ts
CHANGED
|
@@ -42,6 +42,9 @@ interface IJobScheduler {
|
|
|
42
42
|
addJob(job: CreateJobRequest): Promise<void>;
|
|
43
43
|
removeJob(id: string): Promise<void>;
|
|
44
44
|
}
|
|
45
|
+
/**
|
|
46
|
+
* Job scheduler class that handles all the scheduling and running of jobs.
|
|
47
|
+
*/
|
|
45
48
|
export declare class JobScheduler extends EventEmitter implements IJobScheduler {
|
|
46
49
|
protected _rootFolder: string;
|
|
47
50
|
protected _status: SchedulerStatus;
|
|
@@ -49,23 +52,59 @@ export declare class JobScheduler extends EventEmitter implements IJobScheduler
|
|
|
49
52
|
protected _checkTimer: any;
|
|
50
53
|
protected _jobsRepository: IJobRepository;
|
|
51
54
|
protected _jobProps: Map<string, any>;
|
|
55
|
+
/**
|
|
56
|
+
* Status of the scheduler.
|
|
57
|
+
*/
|
|
52
58
|
get status(): SchedulerStatus;
|
|
53
59
|
protected set status(val: SchedulerStatus);
|
|
54
60
|
private scheduleCalculatorCache;
|
|
61
|
+
/**
|
|
62
|
+
* Get the schedule calculator for a job by its id.
|
|
63
|
+
* @param {Job} job
|
|
64
|
+
* @returns {Promise<ScheduleCalculator>}
|
|
65
|
+
*/
|
|
55
66
|
protected getJobSchedule(job: Job): Promise<ScheduleCalculator>;
|
|
56
67
|
protected runWorkerWithTimeout(file: string, props: any, timeout: number): {
|
|
57
68
|
promise: Promise<WorkerResult>;
|
|
58
69
|
worker: Worker;
|
|
59
70
|
};
|
|
60
71
|
private readToEnd;
|
|
72
|
+
/**
|
|
73
|
+
* Start a job instance. This will run the job and update the status of the instance.
|
|
74
|
+
* @param {JobInstance} instance - The job instance to start.
|
|
75
|
+
*/
|
|
61
76
|
protected startJobInstance(instance: JobInstance): Promise<void>;
|
|
62
77
|
protected scheduleJobTo(job: Job, date: Date, index: number): Promise<JobInstance | null>;
|
|
63
78
|
protected checkForUpcomingJobs(): Promise<void>;
|
|
79
|
+
/**
|
|
80
|
+
* Starts the scheduler (all jobs will be scheduled and executed when it's time).
|
|
81
|
+
*/
|
|
64
82
|
start(): Promise<void>;
|
|
83
|
+
/**
|
|
84
|
+
* Stops the scheduler (all jobs will be stopped and no new jobs will be scheduled).
|
|
85
|
+
*/
|
|
65
86
|
stop(): void;
|
|
87
|
+
/**
|
|
88
|
+
* Checks if job exists by id
|
|
89
|
+
* @param {string} jobId - id of the job
|
|
90
|
+
* @returns {Promise<boolean>} - true if job exists, false otherwise
|
|
91
|
+
*/
|
|
66
92
|
jobExists(jobId: string): Promise<boolean>;
|
|
93
|
+
/**
|
|
94
|
+
* Removes job by its id
|
|
95
|
+
* @param jobId {string} - id of the job
|
|
96
|
+
* @returns {Promise<void>}
|
|
97
|
+
*/
|
|
67
98
|
removeJob(jobId: string): Promise<void>;
|
|
99
|
+
/**
|
|
100
|
+
* Adds job to the scheduler
|
|
101
|
+
* @param job {CreateJobRequest} - job to add
|
|
102
|
+
*/
|
|
68
103
|
addJob(job: CreateJobRequest): Promise<void>;
|
|
104
|
+
/**
|
|
105
|
+
*
|
|
106
|
+
* @param props {JobSchedulerProps} - scheduler properties
|
|
107
|
+
*/
|
|
69
108
|
constructor(props: JobSchedulerProps);
|
|
70
109
|
on<T extends keyof Events>(name: T, callback: Events[T]): this;
|
|
71
110
|
}
|
package/dist/index.js
CHANGED
|
@@ -1,34 +1,33 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
};
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
const path_1 = require("path");
|
|
12
|
-
const worker_threads_1 = require("worker_threads");
|
|
13
|
-
const types_js_1 = require("./types.js");
|
|
14
|
-
Object.defineProperty(exports, "Schemas", { enumerable: true, get: function () { return types_js_1.Schemas; } });
|
|
15
|
-
const ScheduleCalculator_js_1 = require("./ScheduleCalculator.js");
|
|
16
|
-
Object.defineProperty(exports, "ScheduleCalculator", { enumerable: true, get: function () { return ScheduleCalculator_js_1.ScheduleCalculator; } });
|
|
17
|
-
const jobRepository_js_1 = require("./jobRepository.js");
|
|
1
|
+
import fs from 'fs';
|
|
2
|
+
import { EventEmitter } from 'events';
|
|
3
|
+
import { PassThrough } from 'stream';
|
|
4
|
+
import { access as fsAccess } from 'fs/promises';
|
|
5
|
+
import { join as pathJoin } from 'path';
|
|
6
|
+
import { Worker } from 'worker_threads';
|
|
7
|
+
import { Schemas } from './types.js';
|
|
8
|
+
import { ScheduleCalculator } from './ScheduleCalculator.js';
|
|
9
|
+
import { InMemoryJobRepository } from './jobRepository.js';
|
|
10
|
+
export { ScheduleCalculator, Schemas };
|
|
18
11
|
const MAX_BUFFER_SIZE = 10 * 1024 * 1024; // 10MB
|
|
19
12
|
const CHECK_INTERVAL = 1000 * 10; // every 10 seconds
|
|
20
13
|
// const SCHEDULE_JOB_SPAN = 1000 * 60 * 60; // 1 hour
|
|
21
14
|
const SCHEDULE_JOB_SPAN = 1000 * 60; // 1 hour
|
|
22
15
|
const DEFAULT_JOB_TIMEOUT = 1000 * 20; // 20 seconds
|
|
23
16
|
const DEFAULT_MAX_CONSEQUENT_FAILS = 3;
|
|
24
|
-
const DEFAULT_MAX_RETRIES =
|
|
25
|
-
|
|
17
|
+
const DEFAULT_MAX_RETRIES = 2;
|
|
18
|
+
/**
|
|
19
|
+
* Job scheduler class that handles all the scheduling and running of jobs.
|
|
20
|
+
*/
|
|
21
|
+
export class JobScheduler extends EventEmitter {
|
|
26
22
|
_rootFolder;
|
|
27
23
|
_status = 'stopped';
|
|
28
24
|
_defaultTimezone;
|
|
29
25
|
_checkTimer;
|
|
30
|
-
_jobsRepository = new
|
|
26
|
+
_jobsRepository = new InMemoryJobRepository();
|
|
31
27
|
_jobProps = new Map();
|
|
28
|
+
/**
|
|
29
|
+
* Status of the scheduler.
|
|
30
|
+
*/
|
|
32
31
|
get status() {
|
|
33
32
|
return this._status;
|
|
34
33
|
}
|
|
@@ -38,6 +37,11 @@ class JobScheduler extends events_1.EventEmitter {
|
|
|
38
37
|
this._status = val;
|
|
39
38
|
}
|
|
40
39
|
scheduleCalculatorCache = new Map();
|
|
40
|
+
/**
|
|
41
|
+
* Get the schedule calculator for a job by its id.
|
|
42
|
+
* @param {Job} job
|
|
43
|
+
* @returns {Promise<ScheduleCalculator>}
|
|
44
|
+
*/
|
|
41
45
|
async getJobSchedule(job) {
|
|
42
46
|
if (this.scheduleCalculatorCache.has(job.id)) {
|
|
43
47
|
return this.scheduleCalculatorCache.get(job.id);
|
|
@@ -51,12 +55,12 @@ class JobScheduler extends events_1.EventEmitter {
|
|
|
51
55
|
if (typeof job.successfullTimesRunned === 'number') {
|
|
52
56
|
schedule.skipFirst = job.successfullTimesRunned - 1;
|
|
53
57
|
}
|
|
54
|
-
const res = new
|
|
58
|
+
const res = new ScheduleCalculator(schedule);
|
|
55
59
|
this.scheduleCalculatorCache.set(job.id, res);
|
|
56
60
|
return res;
|
|
57
61
|
}
|
|
58
62
|
runWorkerWithTimeout(file, props, timeout) {
|
|
59
|
-
const worker = new
|
|
63
|
+
const worker = new Worker(file, {
|
|
60
64
|
workerData: props,
|
|
61
65
|
execArgv: ['--unhandled-rejections=strict'],
|
|
62
66
|
stderr: true,
|
|
@@ -106,6 +110,10 @@ class JobScheduler extends events_1.EventEmitter {
|
|
|
106
110
|
source.on('error', (err) => rej(err));
|
|
107
111
|
});
|
|
108
112
|
}
|
|
113
|
+
/**
|
|
114
|
+
* Start a job instance. This will run the job and update the status of the instance.
|
|
115
|
+
* @param {JobInstance} instance - The job instance to start.
|
|
116
|
+
*/
|
|
109
117
|
async startJobInstance(instance) {
|
|
110
118
|
const startDate = new Date();
|
|
111
119
|
instance = await this._jobsRepository.saveInstance({
|
|
@@ -116,7 +124,7 @@ class JobScheduler extends events_1.EventEmitter {
|
|
|
116
124
|
let status, exitCode;
|
|
117
125
|
try {
|
|
118
126
|
const job = await this._jobsRepository.getJobById(instance.jobId);
|
|
119
|
-
const fileName = (
|
|
127
|
+
const fileName = pathJoin(this._rootFolder, job.path);
|
|
120
128
|
const props = this._jobProps.get(job.id);
|
|
121
129
|
let finalProps = typeof props === 'function' ? props() : props;
|
|
122
130
|
if (finalProps instanceof Promise) {
|
|
@@ -127,22 +135,22 @@ class JobScheduler extends events_1.EventEmitter {
|
|
|
127
135
|
status: 'running'
|
|
128
136
|
});
|
|
129
137
|
const { promise, worker } = this.runWorkerWithTimeout(fileName, finalProps, job.timeout);
|
|
130
|
-
const stdOutPass = worker.stdout.pipe(new
|
|
138
|
+
const stdOutPass = worker.stdout.pipe(new PassThrough({
|
|
131
139
|
highWaterMark: MAX_BUFFER_SIZE
|
|
132
140
|
}));
|
|
133
|
-
const stdErrPass = worker.stderr.pipe(new
|
|
141
|
+
const stdErrPass = worker.stderr.pipe(new PassThrough({
|
|
134
142
|
highWaterMark: MAX_BUFFER_SIZE
|
|
135
143
|
}));
|
|
136
|
-
const stdOutForJobStart = worker.stdout.pipe(new
|
|
144
|
+
const stdOutForJobStart = worker.stdout.pipe(new PassThrough({
|
|
137
145
|
highWaterMark: MAX_BUFFER_SIZE
|
|
138
146
|
}));
|
|
139
|
-
const stdErrForJobStart = worker.stderr.pipe(new
|
|
147
|
+
const stdErrForJobStart = worker.stderr.pipe(new PassThrough({
|
|
140
148
|
highWaterMark: MAX_BUFFER_SIZE
|
|
141
149
|
}));
|
|
142
|
-
const stdOutForJobEnd = worker.stdout.pipe(new
|
|
150
|
+
const stdOutForJobEnd = worker.stdout.pipe(new PassThrough({
|
|
143
151
|
highWaterMark: MAX_BUFFER_SIZE
|
|
144
152
|
}));
|
|
145
|
-
const stdErrForJobEnd = worker.stderr.pipe(new
|
|
153
|
+
const stdErrForJobEnd = worker.stderr.pipe(new PassThrough({
|
|
146
154
|
highWaterMark: MAX_BUFFER_SIZE
|
|
147
155
|
}));
|
|
148
156
|
worker.on('message', (value) => {
|
|
@@ -300,6 +308,9 @@ class JobScheduler extends events_1.EventEmitter {
|
|
|
300
308
|
}
|
|
301
309
|
}
|
|
302
310
|
}
|
|
311
|
+
/**
|
|
312
|
+
* Starts the scheduler (all jobs will be scheduled and executed when it's time).
|
|
313
|
+
*/
|
|
303
314
|
async start() {
|
|
304
315
|
if (this._status === 'started') {
|
|
305
316
|
throw new Error('Scheduler is already started');
|
|
@@ -308,6 +319,9 @@ class JobScheduler extends events_1.EventEmitter {
|
|
|
308
319
|
this._checkTimer = setInterval(this.checkForUpcomingJobs.bind(this), CHECK_INTERVAL);
|
|
309
320
|
// TODO: add logic
|
|
310
321
|
}
|
|
322
|
+
/**
|
|
323
|
+
* Stops the scheduler (all jobs will be stopped and no new jobs will be scheduled).
|
|
324
|
+
*/
|
|
311
325
|
stop() {
|
|
312
326
|
if (this._status === 'stopped') {
|
|
313
327
|
throw new Error('Scheduler is already stopped');
|
|
@@ -316,22 +330,36 @@ class JobScheduler extends events_1.EventEmitter {
|
|
|
316
330
|
this.status = 'stopped';
|
|
317
331
|
// TODO: add logic
|
|
318
332
|
}
|
|
333
|
+
/**
|
|
334
|
+
* Checks if job exists by id
|
|
335
|
+
* @param {string} jobId - id of the job
|
|
336
|
+
* @returns {Promise<boolean>} - true if job exists, false otherwise
|
|
337
|
+
*/
|
|
319
338
|
async jobExists(jobId) {
|
|
320
339
|
return (await this._jobsRepository.getJobById(jobId)) !== null;
|
|
321
340
|
}
|
|
341
|
+
/**
|
|
342
|
+
* Removes job by its id
|
|
343
|
+
* @param jobId {string} - id of the job
|
|
344
|
+
* @returns {Promise<void>}
|
|
345
|
+
*/
|
|
322
346
|
async removeJob(jobId) {
|
|
323
347
|
if (typeof jobId !== 'string' || !jobId) {
|
|
324
348
|
throw new Error('id is required');
|
|
325
349
|
}
|
|
326
350
|
await this._jobsRepository.removeJob(jobId);
|
|
327
351
|
}
|
|
352
|
+
/**
|
|
353
|
+
* Adds job to the scheduler
|
|
354
|
+
* @param job {CreateJobRequest} - job to add
|
|
355
|
+
*/
|
|
328
356
|
async addJob(job) {
|
|
329
|
-
const validationResult = await
|
|
357
|
+
const validationResult = await Schemas.CreateJobRequestSchema.validate(job);
|
|
330
358
|
if (!validationResult.valid) {
|
|
331
359
|
throw new Error(`Invalid CreateJobRequest: ${validationResult.errors?.join('; ')}`);
|
|
332
360
|
}
|
|
333
|
-
const path = (
|
|
334
|
-
await (
|
|
361
|
+
const path = pathJoin(this._rootFolder, job.path);
|
|
362
|
+
await fsAccess(path, fs.constants.R_OK);
|
|
335
363
|
this._jobProps.set(job.id, job.props);
|
|
336
364
|
await this._jobsRepository.createJob({
|
|
337
365
|
id: job.id,
|
|
@@ -350,6 +378,10 @@ class JobScheduler extends events_1.EventEmitter {
|
|
|
350
378
|
: DEFAULT_MAX_RETRIES
|
|
351
379
|
});
|
|
352
380
|
}
|
|
381
|
+
/**
|
|
382
|
+
*
|
|
383
|
+
* @param props {JobSchedulerProps} - scheduler properties
|
|
384
|
+
*/
|
|
353
385
|
constructor(props) {
|
|
354
386
|
super();
|
|
355
387
|
if (typeof props.rootFolder !== 'string') {
|
|
@@ -372,5 +404,4 @@ class JobScheduler extends events_1.EventEmitter {
|
|
|
372
404
|
return this;
|
|
373
405
|
}
|
|
374
406
|
}
|
|
375
|
-
exports.JobScheduler = JobScheduler;
|
|
376
407
|
//# sourceMappingURL=index.js.map
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
|
package/dist/jobRepository.js
CHANGED
|
@@ -1,7 +1,4 @@
|
|
|
1
|
-
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.InMemoryJobRepository = void 0;
|
|
4
|
-
class InMemoryJobRepository {
|
|
1
|
+
export class InMemoryJobRepository {
|
|
5
2
|
_jobs = [];
|
|
6
3
|
_jobInstances = [];
|
|
7
4
|
_instanceId = 1;
|
|
@@ -86,5 +83,4 @@ class InMemoryJobRepository {
|
|
|
86
83
|
// console.table(this._jobInstances);
|
|
87
84
|
}
|
|
88
85
|
}
|
|
89
|
-
exports.InMemoryJobRepository = InMemoryJobRepository;
|
|
90
86
|
//# sourceMappingURL=jobRepository.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"jobRepository.js","sourceRoot":"","sources":["../src/jobRepository.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"jobRepository.js","sourceRoot":"","sources":["../src/jobRepository.ts"],"names":[],"mappings":"AA8BA,MAAM,OAAO,qBAAqB;IACtB,KAAK,GAAe,EAAE,CAAC;IACvB,aAAa,GAAuB,EAAE,CAAC;IACvC,WAAW,GAAG,CAAC,CAAC;IAExB,KAAK,CAAC,OAAO;QACT,OAAO,IAAI,CAAC,KAAK,CAAC;IACtB,CAAC;IAED,KAAK,CAAC,SAAS,CAAC,KAAa;QACzB,MAAM,GAAG,GAAG,IAAI,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC;QACnC,IAAI,CAAC,GAAG;YAAE,MAAM,IAAI,KAAK,CAAC,eAAe,KAAK,gBAAgB,CAAC,CAAC;QAChE,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,KAAK,KAAK,CAAC,CAAC;IAC1D,CAAC;IAED,KAAK,CAAC,SAAS,CAAC,IAAmB;QAC/B,MAAM,GAAG,GAAQ;YACb,GAAG,IAAI;YACP,MAAM,EAAE,QAAQ;SACnB,CAAC;QACF,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;QACrB,OAAO,GAAG,CAAC;IACf,CAAC;IAED,KAAK,CAAC,YAAY,CAAC,KAAa;QAC5B,OAAO,IAAI,CAAC,aAAa,CAAC,MAAM,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,KAAK,KAAK,KAAK,CAAC,CAAC;IACjE,CAAC;IAED,KAAK,CAAC,WAAW,CACb,KAAa,EACb,QAA+B;QAE/B,MAAM,WAAW,GAAG;YAChB,GAAG,QAAQ;YACX,EAAE,EAAE,IAAI,CAAC,WAAW,EAAE;YACtB,KAAK;SACR,CAAC;QAEF,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;QAErC,OAAO,WAAW,CAAC;IACvB,CAAC;IAED,KAAK,CAAC,UAAU,CAAC,KAAa;QAC1B,OAAO,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,KAAK,KAAK,CAAC,CAAC;IAClD,CAAC;IAED,KAAK,CAAC,YAAY,CAAC,KAAa,EAAE,MAAiB;QAC/C,MAAM,GAAG,GAAG,MAAM,IAAI,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC;QACzC,IAAI,CAAC,GAAG;YAAE,OAAO,IAAI,CAAC;QACtB,GAAG,CAAC,MAAM,GAAG,MAAM,CAAC;QACpB,OAAO,GAAG,CAAC;IACf,CAAC;IAED,KAAK,CAAC,OAAO,CAAC,GAAQ;QAClB,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,KAAK,GAAG,CAAC,EAAE,CAAC,CAAC;QAC3D,IAAI,KAAK,KAAK,CAAC,CAAC,EAAE;YACd,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,GAAG;gBAChB,GAAG,GAAG;aACT,CAAC;YACF,OAAO,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;SAC5B;QAED,MAAM,MAAM,GAAG;YACX,GAAG,GAAG;SACT,CAAC;QAEF,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;QACxB,OAAO,MAAM,CAAC;IAClB,CAAC;IAED,KAAK,CAAC,sBAAsB,CACxB,KAAa,EACb,MAAyB;QAEzB,OAAO,CAAC,MAAM,IAAI,CAAC,YAAY,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,CAC1C,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,KAAK,MAAM,CAC7B,CAAC;IACN,CAAC;IAED,KAAK,CAAC,eAAe,CAAC,EAAU;QAC5B,OAAO,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC;IACzD,CAAC;IAED,KAAK,CAAC,YAAY,CAAC,QAAqB;QACpC,MAAM,QAAQ,GAAG,IAAI,CAAC,aAAa,CAAC,SAAS,CACzC,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,KAAK,QAAQ,CAAC,EAAE,CAChC,CAAC;QACF,IAAI,QAAQ,KAAK,CAAC,CAAC,EAAE;YACjB,IAAI,CAAC,aAAa,CAAC,QAAQ,CAAC,GAAG;gBAC3B,GAAG,QAAQ;aACd,CAAC;YACF,OAAO,IAAI,CAAC,aAAa,CAAC,QAAQ,CAAC,CAAC;SACvC;QAED,MAAM,MAAM,GAAG;YACX,GAAG,QAAQ;YACX,EAAE,EAAE,IAAI,CAAC,WAAW,EAAE;SACzB,CAAC;QAEF,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;QAChC,OAAO,MAAM,CAAC;IAClB,CAAC;IAED,QAAQ;QACJ,6BAA6B;IACjC,CAAC;IAED,aAAa;QACT,qCAAqC;IACzC,CAAC;CACJ"}
|