@cleverbrush/scheduler 1.0.0-beta.5 → 1.0.0-beta.6
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/index.d.ts +6 -6
- package/dist/index.js +1 -1
- package/dist/jobRepository.d.ts +2 -2
- package/dist/types.d.ts +10 -10
- package/dist/types.js +1 -1
- package/package.json +1 -1
- package/src/index.ts +1 -1
- package/src/types.ts +1 -1
package/dist/index.d.ts
CHANGED
|
@@ -8,29 +8,29 @@ import { JobSchedulerProps, CreateJobRequest, SchedulerStatus, Schedule, Job, Jo
|
|
|
8
8
|
import { ScheduleCalculator } from './ScheduleCalculator.js';
|
|
9
9
|
import { IJobRepository } from './jobRepository.js';
|
|
10
10
|
export { ScheduleCalculator, Schedule as TaskSchedule, Schemas };
|
|
11
|
-
|
|
11
|
+
type WorkerResult = {
|
|
12
12
|
status: JobInstanceStatus;
|
|
13
13
|
exitCode: number;
|
|
14
14
|
error?: Error;
|
|
15
15
|
};
|
|
16
|
-
|
|
16
|
+
type JobStartItem = {
|
|
17
17
|
jobId: string;
|
|
18
18
|
instanceId: number;
|
|
19
19
|
stdout: Readable;
|
|
20
20
|
stderr: Readable;
|
|
21
21
|
startDate: Date;
|
|
22
22
|
};
|
|
23
|
-
|
|
23
|
+
type JobEndItem = JobStartItem & {
|
|
24
24
|
endDate: Date;
|
|
25
25
|
};
|
|
26
|
-
|
|
26
|
+
type JobErrorItem = JobStartItem & {
|
|
27
27
|
endDate: Date;
|
|
28
28
|
error?: Error;
|
|
29
29
|
};
|
|
30
|
-
|
|
30
|
+
type JobMessageItem = Omit<JobStartItem, 'stdout' | 'stderr'> & {
|
|
31
31
|
value: any;
|
|
32
32
|
};
|
|
33
|
-
|
|
33
|
+
type Events = {
|
|
34
34
|
'job:start': (job: JobStartItem) => any;
|
|
35
35
|
'job:end': (job: JobEndItem) => any;
|
|
36
36
|
'job:error': (job: JobErrorItem) => any;
|
package/dist/index.js
CHANGED
|
@@ -21,7 +21,7 @@ const CHECK_INTERVAL = 1000 * 10; // every 10 seconds
|
|
|
21
21
|
const SCHEDULE_JOB_SPAN = 1000 * 60; // 1 hour
|
|
22
22
|
const DEFAULT_JOB_TIMEOUT = 1000 * 20; // 20 seconds
|
|
23
23
|
const DEFAULT_MAX_CONSEQUENT_FAILS = 3;
|
|
24
|
-
const DEFAULT_MAX_RETRIES =
|
|
24
|
+
const DEFAULT_MAX_RETRIES = 0;
|
|
25
25
|
class JobScheduler extends events_1.EventEmitter {
|
|
26
26
|
_rootFolder;
|
|
27
27
|
_status = 'stopped';
|
package/dist/jobRepository.d.ts
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { Job, JobInstance, JobInstanceStatus, JobStatus } from './types.js';
|
|
2
|
-
|
|
3
|
-
|
|
2
|
+
type AddJobRequest = Omit<Job, 'status'>;
|
|
3
|
+
type AddJobInstanceRequest = Omit<JobInstance, 'id' | 'jobId'>;
|
|
4
4
|
export interface IJobRepository {
|
|
5
5
|
getJobs(): Promise<Job[]>;
|
|
6
6
|
getJobById(jobId: string): Promise<Job>;
|
package/dist/types.d.ts
CHANGED
|
@@ -165,11 +165,11 @@ export declare const schemaRegistry: SchemaRegistry<{
|
|
|
165
165
|
timeout: ["number", false, false, 0, undefined, undefined, true, true, undefined];
|
|
166
166
|
props: ["union", false, false, [["object", true, false, false, {}, undefined], ["function", true, false, undefined]]];
|
|
167
167
|
maxConsequentFails: ["number", false, false, undefined, undefined, undefined, true, true, undefined];
|
|
168
|
-
maxRetries: ["number", false, false,
|
|
168
|
+
maxRetries: ["number", false, false, 0, undefined, undefined, true, true, undefined];
|
|
169
169
|
}, undefined];
|
|
170
170
|
}>;
|
|
171
|
-
export
|
|
172
|
-
export
|
|
171
|
+
export type Schedule = InferType<typeof schemaRegistry.schemas.Models.Schedule.schema>;
|
|
172
|
+
export type CreateJobRequest = InferType<typeof schemaRegistry.schemas.Models.CreateJobRequest.schema>;
|
|
173
173
|
export declare const Schemas: SchemaRegistry<{
|
|
174
174
|
"Common.Date": ["object", true, false, true, {}, Date];
|
|
175
175
|
"Templates.Schedule": ["object", true, false, true, {
|
|
@@ -335,10 +335,10 @@ export declare const Schemas: SchemaRegistry<{
|
|
|
335
335
|
timeout: ["number", false, false, 0, undefined, undefined, true, true, undefined];
|
|
336
336
|
props: ["union", false, false, [["object", true, false, false, {}, undefined], ["function", true, false, undefined]]];
|
|
337
337
|
maxConsequentFails: ["number", false, false, undefined, undefined, undefined, true, true, undefined];
|
|
338
|
-
maxRetries: ["number", false, false,
|
|
338
|
+
maxRetries: ["number", false, false, 0, undefined, undefined, true, true, undefined];
|
|
339
339
|
}, undefined];
|
|
340
340
|
}>;
|
|
341
|
-
export
|
|
341
|
+
export type Job = {
|
|
342
342
|
id: string;
|
|
343
343
|
status: JobStatus;
|
|
344
344
|
schedule: Schedule;
|
|
@@ -353,7 +353,7 @@ export declare type Job = {
|
|
|
353
353
|
maxConsequentFails: number;
|
|
354
354
|
maxRetries: number;
|
|
355
355
|
};
|
|
356
|
-
export
|
|
356
|
+
export type JobInstance = {
|
|
357
357
|
id: number;
|
|
358
358
|
jobId: string;
|
|
359
359
|
index: number;
|
|
@@ -368,11 +368,11 @@ export declare type JobInstance = {
|
|
|
368
368
|
retryIndex: number;
|
|
369
369
|
maxRetries: number;
|
|
370
370
|
};
|
|
371
|
-
export
|
|
371
|
+
export type JobSchedulerProps = {
|
|
372
372
|
rootFolder: string;
|
|
373
373
|
defaultTimeZone?: string;
|
|
374
374
|
persistRepository?: IJobRepository;
|
|
375
375
|
};
|
|
376
|
-
export
|
|
377
|
-
export
|
|
378
|
-
export
|
|
376
|
+
export type JobStatus = 'active' | 'disabled' | 'finished';
|
|
377
|
+
export type SchedulerStatus = 'started' | 'stopped';
|
|
378
|
+
export type JobInstanceStatus = 'running' | 'errored' | 'succeeded' | 'scheduled' | 'timedout' | 'canceled';
|
package/dist/types.js
CHANGED
|
@@ -122,7 +122,7 @@ exports.schemaRegistry = registry
|
|
|
122
122
|
/**
|
|
123
123
|
* Job will be retried right away this times. Job will be retried on next schedule run if this number is exceeded.
|
|
124
124
|
*/
|
|
125
|
-
maxRetries: number().optional().min(
|
|
125
|
+
maxRetries: number().optional().min(0)
|
|
126
126
|
}));
|
|
127
127
|
exports.Schemas = exports.schemaRegistry;
|
|
128
128
|
//# sourceMappingURL=types.js.map
|
package/package.json
CHANGED
package/src/index.ts
CHANGED
|
@@ -35,7 +35,7 @@ const CHECK_INTERVAL = 1000 * 10; // every 10 seconds
|
|
|
35
35
|
const SCHEDULE_JOB_SPAN = 1000 * 60; // 1 hour
|
|
36
36
|
const DEFAULT_JOB_TIMEOUT = 1000 * 20; // 20 seconds
|
|
37
37
|
const DEFAULT_MAX_CONSEQUENT_FAILS = 3;
|
|
38
|
-
const DEFAULT_MAX_RETRIES =
|
|
38
|
+
const DEFAULT_MAX_RETRIES = 0;
|
|
39
39
|
|
|
40
40
|
type JobStartItem = {
|
|
41
41
|
jobId: string;
|
package/src/types.ts
CHANGED
|
@@ -165,7 +165,7 @@ export const schemaRegistry = registry
|
|
|
165
165
|
/**
|
|
166
166
|
* Job will be retried right away this times. Job will be retried on next schedule run if this number is exceeded.
|
|
167
167
|
*/
|
|
168
|
-
maxRetries: number().optional().min(
|
|
168
|
+
maxRetries: number().optional().min(0)
|
|
169
169
|
})
|
|
170
170
|
);
|
|
171
171
|
|