@eggjs/schedule 6.0.0-beta.19 → 6.0.0-beta.21

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.js CHANGED
@@ -1,7 +1,9 @@
1
- import { Schedule } from "./lib/schedule.js";
2
- import ScheduleAgent from "./app/extend/agent.js";
3
- import { ScheduleWorker } from "./lib/schedule_worker.js";
4
- import ScheduleApplication from "./app/extend/application.js";
5
- import ScheduleApplicationUnittest from "./app/extend/application.unittest.js";
6
-
7
- export { ScheduleAgent as Agent, ScheduleApplication as Application, ScheduleApplicationUnittest as ApplicationUnittest, Schedule, ScheduleWorker };
1
+ import Agent from "./app/extend/agent.js";
2
+ import Application from "./app/extend/application.js";
3
+ import ApplicationUnittest from "./app/extend/application.unittest.js";
4
+ export { Agent, Application, ApplicationUnittest };
5
+ export { ScheduleWorker } from "./lib/schedule_worker.js";
6
+ export { Schedule } from "./lib/schedule.js";
7
+ import "./types.js";
8
+ export * from "./lib/types.js";
9
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi9zcmMvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxLQUFLLE1BQU0sdUJBQXVCLENBQUM7QUFDMUMsT0FBTyxXQUFXLE1BQU0sNkJBQTZCLENBQUM7QUFDdEQsT0FBTyxtQkFBbUIsTUFBTSxzQ0FBc0MsQ0FBQztBQUV2RSxPQUFPLEVBQUUsS0FBSyxFQUFFLFdBQVcsRUFBRSxtQkFBbUIsRUFBRSxDQUFDO0FBQ25ELE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQztBQUMxRCxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sbUJBQW1CLENBQUM7QUFFN0MsT0FBTyxZQUFZLENBQUM7QUFFcEIsY0FBYyxnQkFBZ0IsQ0FBQyJ9
@@ -1,7 +1,3 @@
1
- import { EggScheduleItem } from "./types.js";
2
- import { EggApplicationCore } from "egg";
3
-
4
- //#region src/lib/load_schedule.d.ts
5
- declare function loadSchedule(app: EggApplicationCore): Promise<Record<string, EggScheduleItem>>;
6
- //#endregion
7
- export { loadSchedule };
1
+ import type { EggApplicationCore } from 'egg';
2
+ import type { EggScheduleItem } from './types.ts';
3
+ export declare function loadSchedule(app: EggApplicationCore): Promise<Record<string, EggScheduleItem>>;
@@ -1,61 +1,66 @@
1
- import assert from "node:assert";
2
- import path from "node:path";
3
- import { stringify } from "node:querystring";
4
- import { isClass, isFunction, isGeneratorFunction } from "is-type-of";
5
- import { importResolve } from "@eggjs/utils";
6
-
7
- //#region src/lib/load_schedule.ts
1
+ import path from 'node:path';
2
+ import assert from 'node:assert';
3
+ import { stringify } from 'node:querystring';
4
+ import { isClass, isFunction, isGeneratorFunction } from 'is-type-of';
5
+ import { importResolve } from '@eggjs/utils';
8
6
  function getScheduleLoader(app) {
9
- return class ScheduleLoader extends app.loader.FileLoader {
10
- async load() {
11
- const target = this.options.target;
12
- const items = await this.parse();
13
- for (const item of items) {
14
- const schedule = item.exports;
15
- const fullpath = item.fullpath;
16
- const scheduleConfig = schedule.schedule;
17
- assert(scheduleConfig, `schedule(${fullpath}): must have "schedule" and "task" properties`);
18
- assert(isClass(schedule) || isFunction(schedule.task), `schedule(${fullpath}: \`schedule.task\` should be function or \`schedule\` should be class`);
19
- let task;
20
- if (isClass(schedule)) {
21
- assert(!isGeneratorFunction(schedule.prototype.subscribe), `schedule(${fullpath}): "schedule" generator function is not support, should use async function instead`);
22
- task = async (ctx, ...args) => {
23
- return new schedule(ctx).subscribe(...args);
24
- };
25
- } else {
26
- assert(!isGeneratorFunction(schedule.task), `schedule(${fullpath}): "task" generator function is not support, should use async function instead`);
27
- task = schedule.task;
28
- }
29
- const env = app.config.env;
30
- const envList = schedule.schedule.env;
31
- if (Array.isArray(envList) && !envList.includes(env)) {
32
- app.coreLogger.info(`[@eggjs/schedule]: ignore schedule ${fullpath} due to \`schedule.env\` not match`);
33
- continue;
34
- }
35
- const realFullpath = importResolve(fullpath);
36
- target[realFullpath] = {
37
- schedule: scheduleConfig,
38
- scheduleQueryString: stringify(scheduleConfig),
39
- task,
40
- key: realFullpath
41
- };
42
- }
43
- return target;
44
- }
45
- };
7
+ return class ScheduleLoader extends app.loader.FileLoader {
8
+ async load() {
9
+ const target = this.options.target;
10
+ const items = await this.parse();
11
+ for (const item of items) {
12
+ const schedule = item.exports;
13
+ const fullpath = item.fullpath;
14
+ const scheduleConfig = schedule.schedule;
15
+ assert(scheduleConfig, `schedule(${fullpath}): must have "schedule" and "task" properties`);
16
+ assert(isClass(schedule) || isFunction(schedule.task), `schedule(${fullpath}: \`schedule.task\` should be function or \`schedule\` should be class`);
17
+ let task;
18
+ if (isClass(schedule)) {
19
+ assert(!isGeneratorFunction(schedule.prototype.subscribe), `schedule(${fullpath}): "schedule" generator function is not support, should use async function instead`);
20
+ task = async (ctx, ...args) => {
21
+ const instance = new schedule(ctx);
22
+ // s.subscribe = app.toAsyncFunction(s.subscribe);
23
+ return instance.subscribe(...args);
24
+ };
25
+ }
26
+ else {
27
+ assert(!isGeneratorFunction(schedule.task), `schedule(${fullpath}): "task" generator function is not support, should use async function instead`);
28
+ task = schedule.task;
29
+ // task = app.toAsyncFunction(schedule.task);
30
+ }
31
+ const env = app.config.env;
32
+ const envList = schedule.schedule.env;
33
+ if (Array.isArray(envList) && !envList.includes(env)) {
34
+ app.coreLogger.info(`[@eggjs/schedule]: ignore schedule ${fullpath} due to \`schedule.env\` not match`);
35
+ continue;
36
+ }
37
+ // handle symlink case
38
+ const realFullpath = importResolve(fullpath);
39
+ target[realFullpath] = {
40
+ schedule: scheduleConfig,
41
+ // @ts-expect-error scheduleConfig may can't be stringified
42
+ scheduleQueryString: stringify(scheduleConfig),
43
+ task,
44
+ key: realFullpath,
45
+ };
46
+ }
47
+ return target;
48
+ }
49
+ };
46
50
  }
47
- async function loadSchedule(app) {
48
- const dirs = [...app.loader.getLoadUnits().map((unit) => path.join(unit.path, "app/schedule")), ...app.config.schedule.directory];
49
- const Loader = getScheduleLoader(app);
50
- const schedules = {};
51
- await new Loader({
52
- directory: dirs,
53
- target: schedules,
54
- inject: app
55
- }).load();
56
- Reflect.set(app, "schedules", schedules);
57
- return schedules;
51
+ export async function loadSchedule(app) {
52
+ const dirs = [
53
+ ...app.loader.getLoadUnits().map(unit => path.join(unit.path, 'app/schedule')),
54
+ ...app.config.schedule.directory,
55
+ ];
56
+ const Loader = getScheduleLoader(app);
57
+ const schedules = {};
58
+ await new Loader({
59
+ directory: dirs,
60
+ target: schedules,
61
+ inject: app,
62
+ }).load();
63
+ Reflect.set(app, 'schedules', schedules);
64
+ return schedules;
58
65
  }
59
-
60
- //#endregion
61
- export { loadSchedule };
66
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibG9hZF9zY2hlZHVsZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9saWIvbG9hZF9zY2hlZHVsZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLElBQUksTUFBTSxXQUFXLENBQUM7QUFDN0IsT0FBTyxNQUFNLE1BQU0sYUFBYSxDQUFDO0FBQ2pDLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxrQkFBa0IsQ0FBQztBQUU3QyxPQUFPLEVBQUUsT0FBTyxFQUFFLFVBQVUsRUFBRSxtQkFBbUIsRUFBRSxNQUFNLFlBQVksQ0FBQztBQUN0RSxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sY0FBYyxDQUFDO0FBTTdDLFNBQVMsaUJBQWlCLENBQUMsR0FBdUI7SUFDaEQsT0FBTyxNQUFNLGNBQWUsU0FBUSxHQUFHLENBQUMsTUFBTSxDQUFDLFVBQVU7UUFDdkQsS0FBSyxDQUFDLElBQUk7WUFDUixNQUFNLE1BQU0sR0FBRyxJQUFJLENBQUMsT0FBTyxDQUFDLE1BQXlDLENBQUM7WUFDdEUsTUFBTSxLQUFLLEdBQUcsTUFBTSxJQUFJLENBQUMsS0FBSyxFQUFFLENBQUM7WUFDakMsS0FBSyxNQUFNLElBQUksSUFBSSxLQUFLLEVBQUUsQ0FBQztnQkFDekIsTUFBTSxRQUFRLEdBQUcsSUFBSSxDQUFDLE9BQWlFLENBQUM7Z0JBQ3hGLE1BQU0sUUFBUSxHQUFHLElBQUksQ0FBQyxRQUFRLENBQUM7Z0JBQy9CLE1BQU0sY0FBYyxHQUFHLFFBQVEsQ0FBQyxRQUFRLENBQUM7Z0JBQ3pDLE1BQU0sQ0FBQyxjQUFjLEVBQUUsWUFBWSxRQUFRLCtDQUErQyxDQUFDLENBQUM7Z0JBQzVGLE1BQU0sQ0FDSixPQUFPLENBQUMsUUFBUSxDQUFDLElBQUksVUFBVSxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsRUFDOUMsWUFBWSxRQUFRLHdFQUF3RSxDQUM3RixDQUFDO2dCQUVGLElBQUksSUFBcUIsQ0FBQztnQkFDMUIsSUFBSSxPQUFP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
@@ -1,35 +1,31 @@
1
- import { EggScheduleItem, EggScheduleJobInfo } from "./types.js";
2
- import { BaseStrategy } from "./strategy/base.js";
3
- import ScheduleAgent from "../app/extend/agent.js";
4
-
5
- //#region src/lib/schedule.d.ts
6
- declare class Schedule {
7
- #private;
8
- closed: boolean;
9
- constructor(agent: ScheduleAgent);
10
- /**
11
- * register a custom Schedule Strategy
12
- * @param {String} type - strategy type
13
- * @param {Strategy} clz - Strategy class
14
- */
15
- use(type: string, clz: typeof BaseStrategy): void;
16
- /**
17
- * load all schedule jobs, then initialize and register special strategy
18
- */
19
- init(): Promise<void>;
20
- registerSchedule(scheduleItem: EggScheduleItem): void;
21
- unregisterSchedule(key: string): boolean;
22
- /**
23
- * job finish event handler
24
- *
25
- * @param {Object} info - { id, key, success, message, workerId }
26
- */
27
- onJobFinish(info: EggScheduleJobInfo): void;
28
- /**
29
- * start schedule
30
- */
31
- start(): Promise<void>;
32
- close(): Promise<void>;
1
+ import type { EggScheduleItem, EggScheduleJobInfo } from './types.ts';
2
+ import type { BaseStrategy } from './strategy/base.ts';
3
+ import type Agent from '../app/extend/agent.ts';
4
+ export declare class Schedule {
5
+ #private;
6
+ closed: boolean;
7
+ constructor(agent: Agent);
8
+ /**
9
+ * register a custom Schedule Strategy
10
+ * @param {String} type - strategy type
11
+ * @param {Strategy} clz - Strategy class
12
+ */
13
+ use(type: string, clz: typeof BaseStrategy): void;
14
+ /**
15
+ * load all schedule jobs, then initialize and register special strategy
16
+ */
17
+ init(): Promise<void>;
18
+ registerSchedule(scheduleItem: EggScheduleItem): void;
19
+ unregisterSchedule(key: string): boolean;
20
+ /**
21
+ * job finish event handler
22
+ *
23
+ * @param {Object} info - { id, key, success, message, workerId }
24
+ */
25
+ onJobFinish(info: EggScheduleJobInfo): void;
26
+ /**
27
+ * start schedule
28
+ */
29
+ start(): Promise<void>;
30
+ close(): Promise<void>;
33
31
  }
34
- //#endregion
35
- export { Schedule };
@@ -1,77 +1,85 @@
1
+ import { debuglog } from 'node:util';
1
2
  import { loadSchedule } from "./load_schedule.js";
2
- import { debuglog } from "node:util";
3
-
4
- //#region src/lib/schedule.ts
5
- const debug = debuglog("egg/schedule/lib/schedule");
6
- var Schedule = class {
7
- closed = false;
8
- #agent;
9
- #logger;
10
- #strategyClassMap = /* @__PURE__ */ new Map();
11
- #strategyInstanceMap = /* @__PURE__ */ new Map();
12
- constructor(agent) {
13
- this.#agent = agent;
14
- this.#logger = agent.getLogger("scheduleLogger");
15
- }
16
- /**
17
- * register a custom Schedule Strategy
18
- * @param {String} type - strategy type
19
- * @param {Strategy} clz - Strategy class
20
- */
21
- use(type, clz) {
22
- this.#strategyClassMap.set(type, clz);
23
- debug("use type: %o", type);
24
- }
25
- /**
26
- * load all schedule jobs, then initialize and register special strategy
27
- */
28
- async init() {
29
- const scheduleItems = await loadSchedule(this.#agent);
30
- for (const scheduleItem of Object.values(scheduleItems)) this.registerSchedule(scheduleItem);
31
- }
32
- registerSchedule(scheduleItem) {
33
- const { key, schedule } = scheduleItem;
34
- const type = schedule.type;
35
- if (schedule.disable) return;
36
- const Strategy = this.#strategyClassMap.get(type);
37
- if (!Strategy) {
38
- const err = /* @__PURE__ */ new Error(`schedule type [${type}] is not defined`);
39
- err.name = "EggScheduleError";
40
- throw err;
41
- }
42
- const instance = new Strategy(schedule, this.#agent, key);
43
- this.#strategyInstanceMap.set(key, instance);
44
- debug("registerSchedule type: %o, config: %o, key: %o", type, schedule, key);
45
- }
46
- unregisterSchedule(key) {
47
- debug("unregisterSchedule key: %o", key);
48
- return this.#strategyInstanceMap.delete(key);
49
- }
50
- /**
51
- * job finish event handler
52
- *
53
- * @param {Object} info - { id, key, success, message, workerId }
54
- */
55
- onJobFinish(info) {
56
- this.#logger.debug(`[Job#${info.id}] ${info.key} finish event received by agent from worker#${info.workerId}`);
57
- const instance = this.#strategyInstanceMap.get(info.key);
58
- /* istanbul ignore else */
59
- if (instance) instance.onJobFinish(info);
60
- }
61
- /**
62
- * start schedule
63
- */
64
- async start() {
65
- debug("start");
66
- this.closed = false;
67
- for (const instance of this.#strategyInstanceMap.values()) instance.start();
68
- }
69
- async close() {
70
- this.closed = true;
71
- for (const instance of this.#strategyInstanceMap.values()) await instance.close();
72
- debug("close");
73
- }
74
- };
75
-
76
- //#endregion
77
- export { Schedule };
3
+ const debug = debuglog('egg/schedule/lib/schedule');
4
+ export class Schedule {
5
+ closed = false;
6
+ #agent;
7
+ #logger;
8
+ #strategyClassMap = new Map();
9
+ #strategyInstanceMap = new Map();
10
+ constructor(agent) {
11
+ this.#agent = agent;
12
+ this.#logger = agent.getLogger('scheduleLogger');
13
+ }
14
+ /**
15
+ * register a custom Schedule Strategy
16
+ * @param {String} type - strategy type
17
+ * @param {Strategy} clz - Strategy class
18
+ */
19
+ use(type, clz) {
20
+ this.#strategyClassMap.set(type, clz);
21
+ debug('use type: %o', type);
22
+ }
23
+ /**
24
+ * load all schedule jobs, then initialize and register special strategy
25
+ */
26
+ async init() {
27
+ const scheduleItems = await loadSchedule(this.#agent);
28
+ for (const scheduleItem of Object.values(scheduleItems)) {
29
+ this.registerSchedule(scheduleItem);
30
+ }
31
+ }
32
+ registerSchedule(scheduleItem) {
33
+ const { key, schedule } = scheduleItem;
34
+ const type = schedule.type;
35
+ if (schedule.disable) {
36
+ return;
37
+ }
38
+ // find Strategy by type
39
+ const Strategy = this.#strategyClassMap.get(type);
40
+ if (!Strategy) {
41
+ const err = new Error(`schedule type [${type}] is not defined`);
42
+ err.name = 'EggScheduleError';
43
+ throw err;
44
+ }
45
+ // Initialize strategy and register
46
+ const instance = new Strategy(schedule, this.#agent, key);
47
+ this.#strategyInstanceMap.set(key, instance);
48
+ debug('registerSchedule type: %o, config: %o, key: %o', type, schedule, key);
49
+ }
50
+ unregisterSchedule(key) {
51
+ debug('unregisterSchedule key: %o', key);
52
+ return this.#strategyInstanceMap.delete(key);
53
+ }
54
+ /**
55
+ * job finish event handler
56
+ *
57
+ * @param {Object} info - { id, key, success, message, workerId }
58
+ */
59
+ onJobFinish(info) {
60
+ this.#logger.debug(`[Job#${info.id}] ${info.key} finish event received by agent from worker#${info.workerId}`);
61
+ const instance = this.#strategyInstanceMap.get(info.key);
62
+ /* istanbul ignore else */
63
+ if (instance) {
64
+ instance.onJobFinish(info);
65
+ }
66
+ }
67
+ /**
68
+ * start schedule
69
+ */
70
+ async start() {
71
+ debug('start');
72
+ this.closed = false;
73
+ for (const instance of this.#strategyInstanceMap.values()) {
74
+ instance.start();
75
+ }
76
+ }
77
+ async close() {
78
+ this.closed = true;
79
+ for (const instance of this.#strategyInstanceMap.values()) {
80
+ await instance.close();
81
+ }
82
+ debug('close');
83
+ }
84
+ }
85
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2NoZWR1bGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvbGliL3NjaGVkdWxlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxXQUFXLENBQUM7QUFJckMsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLG9CQUFvQixDQUFDO0FBS2xELE1BQU0sS0FBSyxHQUFHLFFBQVEsQ0FBQywyQkFBMkIsQ0FBQyxDQUFDO0FBRXBELE1BQU0sT0FBTyxRQUFRO0lBQ25CLE1BQU0sR0FBRyxLQUFLLENBQUM7SUFFZixNQUFNLENBQVE7SUFDZCxPQUFPLENBQVk7SUFDbkIsaUJBQWlCLEdBQUcsSUFBSSxHQUFHLEVBQStCLENBQUM7SUFDM0Qsb0JBQW9CLEdBQUcsSUFBSSxHQUFHLEVBQXdCLENBQUM7SUFFdkQsWUFBWSxLQUFZO1FBQ3RCLElBQUksQ0FBQyxNQUFNLEdBQUcsS0FBSyxDQUFDO1FBQ3BCLElBQUksQ0FBQyxPQUFPLEdBQUcsS0FBSyxDQUFDLFNBQVMsQ0FBQyxnQkFBZ0IsQ0FBQyxDQUFDO0lBQ25ELENBQUM7SUFFRDs7OztPQUlHO0lBQ0gsR0FBRyxDQUFDLElBQVksRUFBRSxHQUF3QjtRQUN4QyxJQUFJLENBQUMsaUJBQWlCLENBQUMsR0FBRyxDQUFDLElBQUksRUFBRSxHQUFHLENBQUMsQ0FBQztRQUN0QyxLQUFLLENBQUMsY0FBYyxFQUFFLElBQUksQ0FBQyxDQUFDO0lBQzlCLENBQUM7SUFFRDs7T0FFRztJQUNILEtBQUssQ0FBQyxJQUFJO1FBQ1IsTUFBTSxhQUFhLEdBQUcsTUFBTSxZQUFZLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxDQUFDO1FBQ3RELEtBQUssTUFBTSxZQUFZLElBQUksTUFBTSxDQUFDLE1BQU0sQ0FBQyxhQUFhLENBQUMsRUFBRSxDQUFDO1lBQ3hELElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxZQUFZLENBQUMsQ0FBQztRQUN0QyxDQUFDO0lBQ0gs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
@@ -1,14 +1,10 @@
1
- import { EggScheduleItem } from "./types.js";
2
- import ScheduleApplication from "../app/extend/application.js";
3
-
4
- //#region src/lib/schedule_worker.d.ts
5
- declare class ScheduleWorker {
6
- #private;
7
- scheduleItems: Record<string, EggScheduleItem>;
8
- constructor(app: ScheduleApplication);
9
- init(): Promise<void>;
10
- registerSchedule(scheduleItem: EggScheduleItem): void;
11
- unregisterSchedule(key: string): void;
1
+ import type { EggScheduleItem } from './types.ts';
2
+ import type Application from '../app/extend/application.ts';
3
+ export declare class ScheduleWorker {
4
+ #private;
5
+ scheduleItems: Record<string, EggScheduleItem>;
6
+ constructor(app: Application);
7
+ init(): Promise<void>;
8
+ registerSchedule(scheduleItem: EggScheduleItem): void;
9
+ unregisterSchedule(key: string): void;
12
10
  }
13
- //#endregion
14
- export { ScheduleWorker };
@@ -1,22 +1,18 @@
1
1
  import { loadSchedule } from "./load_schedule.js";
2
-
3
- //#region src/lib/schedule_worker.ts
4
- var ScheduleWorker = class {
5
- #app;
6
- scheduleItems = {};
7
- constructor(app) {
8
- this.#app = app;
9
- }
10
- async init() {
11
- this.scheduleItems = await loadSchedule(this.#app);
12
- }
13
- registerSchedule(scheduleItem) {
14
- this.scheduleItems[scheduleItem.key] = scheduleItem;
15
- }
16
- unregisterSchedule(key) {
17
- delete this.scheduleItems[key];
18
- }
19
- };
20
-
21
- //#endregion
22
- export { ScheduleWorker };
2
+ export class ScheduleWorker {
3
+ #app;
4
+ scheduleItems = {};
5
+ constructor(app) {
6
+ this.#app = app;
7
+ }
8
+ async init() {
9
+ this.scheduleItems = await loadSchedule(this.#app);
10
+ }
11
+ registerSchedule(scheduleItem) {
12
+ this.scheduleItems[scheduleItem.key] = scheduleItem;
13
+ }
14
+ unregisterSchedule(key) {
15
+ delete this.scheduleItems[key];
16
+ }
17
+ }
18
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2NoZWR1bGVfd29ya2VyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL2xpYi9zY2hlZHVsZV93b3JrZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLG9CQUFvQixDQUFDO0FBSWxELE1BQU0sT0FBTyxjQUFjO0lBQ3pCLElBQUksQ0FBYztJQUNsQixhQUFhLEdBQW9DLEVBQUUsQ0FBQztJQUVwRCxZQUFZLEdBQWdCO1FBQzFCLElBQUksQ0FBQyxJQUFJLEdBQUcsR0FBRyxDQUFDO0lBQ2xCLENBQUM7SUFFRCxLQUFLLENBQUMsSUFBSTtRQUNSLElBQUksQ0FBQyxhQUFhLEdBQUcsTUFBTSxZQUFZLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDO0lBQ3JELENBQUM7SUFFRCxnQkFBZ0IsQ0FBQyxZQUE2QjtRQUM1QyxJQUFJLENBQUMsYUFBYSxDQUFDLFlBQVksQ0FBQyxHQUFHLENBQUMsR0FBRyxZQUFZLENBQUM7SUFDdEQsQ0FBQztJQUVELGtCQUFrQixDQUFDLEdBQVc7UUFDNUIsT0FBTyxJQUFJLENBQUMsYUFBYSxDQUFDLEdBQUcsQ0FBQyxDQUFDO0lBQ2pDLENBQUM7Q0FDRiJ9
@@ -1,8 +1,4 @@
1
- import { TimerStrategy } from "./timer.js";
2
-
3
- //#region src/lib/strategy/all.d.ts
4
- declare class AllStrategy extends TimerStrategy {
5
- handler(): void;
1
+ import { TimerStrategy } from './timer.ts';
2
+ export declare class AllStrategy extends TimerStrategy {
3
+ handler(): void;
6
4
  }
7
- //#endregion
8
- export { AllStrategy };
@@ -1,11 +1,7 @@
1
1
  import { TimerStrategy } from "./timer.js";
2
-
3
- //#region src/lib/strategy/all.ts
4
- var AllStrategy = class extends TimerStrategy {
5
- handler() {
6
- this.sendAll();
7
- }
8
- };
9
-
10
- //#endregion
11
- export { AllStrategy };
2
+ export class AllStrategy extends TimerStrategy {
3
+ handler() {
4
+ this.sendAll();
5
+ }
6
+ }
7
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWxsLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL2xpYi9zdHJhdGVneS9hbGwudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLFlBQVksQ0FBQztBQUUzQyxNQUFNLE9BQU8sV0FBWSxTQUFRLGFBQWE7SUFDNUMsT0FBTztRQUNMLElBQUksQ0FBQyxPQUFPLEVBQUUsQ0FBQztJQUNqQixDQUFDO0NBQ0YifQ==
@@ -1,36 +1,32 @@
1
- import { EggScheduleConfig } from "../../config/config.default.js";
2
- import { EggScheduleJobInfo } from "../types.js";
3
- import ScheduleAgent from "../../app/extend/agent.js";
4
- import { EggLogger } from "egg";
5
-
6
- //#region src/lib/strategy/base.d.ts
7
- declare class BaseStrategy {
8
- protected agent: ScheduleAgent;
9
- protected scheduleConfig: EggScheduleConfig;
10
- protected key: string;
11
- protected logger: EggLogger;
12
- protected closed: boolean;
13
- count: number;
14
- constructor(scheduleConfig: EggScheduleConfig, agent: ScheduleAgent, key: string);
15
- /** keep compatibility */
16
- get schedule(): EggScheduleConfig;
17
- start(): Promise<void>;
18
- close(): Promise<void>;
19
- onJobStart(_info: EggScheduleJobInfo): void;
20
- onJobFinish(_info: EggScheduleJobInfo): void;
21
- /**
22
- * trigger one worker
23
- *
24
- * @param {...any} args - pass to job task
25
- */
26
- sendOne(...args: any[]): void;
27
- /**
28
- * trigger all worker
29
- *
30
- * @param {...any} args - pass to job task
31
- */
32
- sendAll(...args: any[]): void;
33
- getSeqId(): string;
1
+ import type { EggLogger } from 'egg';
2
+ import type { EggScheduleJobInfo } from '../types.ts';
3
+ import type { EggScheduleConfig } from '../../config/config.default.ts';
4
+ import type Agent from '../../app/extend/agent.ts';
5
+ export declare class BaseStrategy {
6
+ protected agent: Agent;
7
+ protected scheduleConfig: EggScheduleConfig;
8
+ protected key: string;
9
+ protected logger: EggLogger;
10
+ protected closed: boolean;
11
+ count: number;
12
+ constructor(scheduleConfig: EggScheduleConfig, agent: Agent, key: string);
13
+ /** keep compatibility */
14
+ get schedule(): EggScheduleConfig;
15
+ start(): Promise<void>;
16
+ close(): Promise<void>;
17
+ onJobStart(_info: EggScheduleJobInfo): void;
18
+ onJobFinish(_info: EggScheduleJobInfo): void;
19
+ /**
20
+ * trigger one worker
21
+ *
22
+ * @param {...any} args - pass to job task
23
+ */
24
+ sendOne(...args: any[]): void;
25
+ /**
26
+ * trigger all worker
27
+ *
28
+ * @param {...any} args - pass to job task
29
+ */
30
+ sendAll(...args: any[]): void;
31
+ getSeqId(): string;
34
32
  }
35
- //#endregion
36
- export { BaseStrategy };