@eggjs/tegg-schedule-plugin 4.0.0-beta.8 → 4.0.0-beta.9
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/agent.d.ts +6 -10
- package/dist/agent.js +30 -28
- package/dist/app.d.ts +9 -13
- package/dist/app.js +24 -30
- package/dist/index.d.ts +1 -1
- package/dist/index.js +2 -3
- package/dist/lib/EggScheduleAdapter.d.ts +5 -9
- package/dist/lib/EggScheduleAdapter.js +18 -3
- package/dist/lib/EggScheduleMetadataConvertor.d.ts +3 -7
- package/dist/lib/EggScheduleMetadataConvertor.js +13 -3
- package/dist/lib/SchedulePrototypeHook.d.ts +4 -8
- package/dist/lib/SchedulePrototypeHook.js +16 -3
- package/dist/lib/ScheduleSubscriberRegister.d.ts +7 -11
- package/dist/lib/ScheduleSubscriberRegister.js +23 -4
- package/dist/lib/ScheduleWorkerLoadUnitHook.d.ts +7 -11
- package/dist/lib/ScheduleWorkerLoadUnitHook.js +24 -6
- package/dist/lib/ScheduleWorkerRegister.d.ts +8 -2
- package/dist/lib/ScheduleWorkerRegister.js +24 -5
- package/dist/types.d.ts +1 -1
- package/dist/types.js +2 -3
- package/package.json +13 -13
- package/dist/EggScheduleAdapter-DEn6ulTC.js +0 -19
- package/dist/EggScheduleMetadataConvertor-DztYwrQw.js +0 -17
- package/dist/SchedulePrototypeHook-Bijq9pON.js +0 -15
- package/dist/ScheduleSubscriberRegister-CyQ8hJH8.js +0 -24
- package/dist/ScheduleWorkerLoadUnitHook-9c6e0LVf.js +0 -23
- package/dist/ScheduleWorkerRegister-BEkNg0Wq.js +0 -27
- package/dist/ScheduleWorkerRegister-D_HpfSei.d.ts +0 -12
- package/dist/types-64z8ustY.d.ts +0 -1
- package/dist/types-DoWCKYJQ.js +0 -3
package/dist/agent.d.ts
CHANGED
|
@@ -1,11 +1,7 @@
|
|
|
1
|
-
import { Agent, ILifecycleBoot } from
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
constructor(agent: Agent);
|
|
8
|
-
didLoad(): Promise<void>;
|
|
1
|
+
import { Agent, type ILifecycleBoot } from 'egg';
|
|
2
|
+
export default class ScheduleAppBootHook implements ILifecycleBoot {
|
|
3
|
+
private readonly agent;
|
|
4
|
+
private readonly scheduleSubscriberRegister;
|
|
5
|
+
constructor(agent: Agent);
|
|
6
|
+
didLoad(): Promise<void>;
|
|
9
7
|
}
|
|
10
|
-
//#endregion
|
|
11
|
-
export { ScheduleAppBootHook as default };
|
package/dist/agent.js
CHANGED
|
@@ -1,28 +1,30 @@
|
|
|
1
|
-
import
|
|
2
|
-
import {
|
|
3
|
-
import {
|
|
4
|
-
import {
|
|
5
|
-
import {
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
}
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
1
|
+
import { Agent } from 'egg';
|
|
2
|
+
import { LoaderFactory } from '@eggjs/tegg-loader';
|
|
3
|
+
import { EggLoadUnitType } from '@eggjs/tegg-metadata';
|
|
4
|
+
import { ScheduleInfoUtil, ScheduleMetaBuilder } from '@eggjs/tegg/schedule';
|
|
5
|
+
import { ScheduleSubscriberRegister } from "./lib/ScheduleSubscriberRegister.js";
|
|
6
|
+
export default class ScheduleAppBootHook {
|
|
7
|
+
agent;
|
|
8
|
+
scheduleSubscriberRegister;
|
|
9
|
+
constructor(agent) {
|
|
10
|
+
this.agent = agent;
|
|
11
|
+
this.scheduleSubscriberRegister = new ScheduleSubscriberRegister(this.agent);
|
|
12
|
+
}
|
|
13
|
+
async didLoad() {
|
|
14
|
+
// FIXME: tegg use lots singleton, in mm.app test case, agent/app in one process
|
|
15
|
+
// if use start tegg in agent, the app will use the same singleton
|
|
16
|
+
// so we should refactor tegg to not use singleton.
|
|
17
|
+
for (const moduleConfig of this.agent.moduleReferences) {
|
|
18
|
+
const loader = LoaderFactory.createLoader(moduleConfig.path, EggLoadUnitType.MODULE);
|
|
19
|
+
const clazzList = await loader.load();
|
|
20
|
+
for (const clazz of clazzList) {
|
|
21
|
+
if (ScheduleInfoUtil.isSchedule(clazz)) {
|
|
22
|
+
const builder = new ScheduleMetaBuilder(clazz);
|
|
23
|
+
const metadata = builder.build();
|
|
24
|
+
this.scheduleSubscriberRegister.register(clazz, metadata);
|
|
25
|
+
}
|
|
26
|
+
}
|
|
27
|
+
}
|
|
28
|
+
}
|
|
29
|
+
}
|
|
30
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWdlbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi9zcmMvYWdlbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLEtBQUssRUFBdUIsTUFBTSxLQUFLLENBQUM7QUFDakQsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLG9CQUFvQixDQUFDO0FBQ25ELE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQztBQUN2RCxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQztBQUU3RSxPQUFPLEVBQUUsMEJBQTBCLEVBQUUsTUFBTSxxQ0FBcUMsQ0FBQztBQUVqRixNQUFNLENBQUMsT0FBTyxPQUFPLG1CQUFtQjtJQUNyQixLQUFLLENBQVE7SUFDYiwwQkFBMEIsQ0FBNkI7SUFFeEUsWUFBWSxLQUFZO1FBQ3RCLElBQUksQ0FBQyxLQUFLLEdBQUcsS0FBSyxDQUFDO1FBQ25CLElBQUksQ0FBQywwQkFBMEIsR0FBRyxJQUFJLDBCQUEwQixDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQztJQUMvRSxDQUFDO0lBRUQsS0FBSyxDQUFDLE9BQU87UUFDWCxnRkFBZ0Y7UUFDaEYsa0VBQWtFO1FBQ2xFLG1EQUFtRDtRQUNuRCxLQUFLLE1BQU0sWUFBWSxJQUFJLElBQUksQ0FBQyxLQUFLLENBQUMsZ0JBQWdCLEVBQUUsQ0FBQztZQUN2RCxNQUFNLE1BQU0sR0FBRyxhQUFhLENBQUMsWUFBWSxDQUFDLFlBQVksQ0FBQyxJQUFJLEVBQUUsZUFBZSxDQUFDLE1BQU0sQ0FBQyxDQUFDO1lBQ3JGLE1BQU0sU0FBUyxHQUFHLE1BQU0sTUFBTSxDQUFDLElBQUksRUFBRSxDQUFDO1lBQ3RDLEtBQUssTUFBTSxLQUFLLElBQUksU0FBUyxFQUFFLENBQUM7Z0JBQzlCLElBQUksZ0JBQWdCLENBQUMsVUFBVSxDQUFDLEtBQUssQ0FBQyxFQUFFLENBQUM7b0JBQ3ZDLE1BQU0sT0FBTyxHQUFHLElBQUksbUJBQW1CLENBQUMsS0FBSyxDQUFDLENBQUM7b0JBQy9DLE1BQU0sUUFBUSxHQUFHLE9BQU8sQ0FBQyxLQUFLLEVBQUUsQ0FBQztvQkFDakMsSUFBSSxDQUFDLDBCQUEwQixDQUFDLFFBQVEsQ0FBQyxLQUFLLEVBQUUsUUFBUSxDQUFDLENBQUM7Z0JBQzVELENBQUM7WUFDSCxDQUFDO1FBQ0gsQ0FBQztJQUNILENBQUM7Q0FDRiJ9
|
package/dist/app.d.ts
CHANGED
|
@@ -1,14 +1,10 @@
|
|
|
1
|
-
import { Application, ILifecycleBoot } from
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
configWillLoad(): void;
|
|
11
|
-
beforeClose(): Promise<void>;
|
|
1
|
+
import type { Application, ILifecycleBoot } from 'egg';
|
|
2
|
+
export default class ScheduleAppBootHook implements ILifecycleBoot {
|
|
3
|
+
private readonly app;
|
|
4
|
+
private readonly scheduleWorkerRegister;
|
|
5
|
+
private readonly scheduleWorkerLoadUnitHook;
|
|
6
|
+
private readonly schedulePrototypeHook;
|
|
7
|
+
constructor(app: Application);
|
|
8
|
+
configWillLoad(): void;
|
|
9
|
+
beforeClose(): Promise<void>;
|
|
12
10
|
}
|
|
13
|
-
//#endregion
|
|
14
|
-
export { ScheduleAppBootHook as default };
|
package/dist/app.js
CHANGED
|
@@ -1,30 +1,24 @@
|
|
|
1
|
-
import "./
|
|
2
|
-
import "./
|
|
3
|
-
import {
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
this.app.eggPrototypeLifecycleUtil.deleteLifecycle(this.schedulePrototypeHook);
|
|
26
|
-
}
|
|
27
|
-
};
|
|
28
|
-
|
|
29
|
-
//#endregion
|
|
30
|
-
export { ScheduleAppBootHook as default };
|
|
1
|
+
import { ScheduleWorkerRegister } from "./lib/ScheduleWorkerRegister.js";
|
|
2
|
+
import { ScheduleWorkerLoadUnitHook } from "./lib/ScheduleWorkerLoadUnitHook.js";
|
|
3
|
+
import { SchedulePrototypeHook } from "./lib/SchedulePrototypeHook.js";
|
|
4
|
+
export default class ScheduleAppBootHook {
|
|
5
|
+
app;
|
|
6
|
+
scheduleWorkerRegister;
|
|
7
|
+
scheduleWorkerLoadUnitHook;
|
|
8
|
+
schedulePrototypeHook;
|
|
9
|
+
constructor(app) {
|
|
10
|
+
this.app = app;
|
|
11
|
+
this.scheduleWorkerRegister = new ScheduleWorkerRegister(this.app);
|
|
12
|
+
this.scheduleWorkerLoadUnitHook = new ScheduleWorkerLoadUnitHook(this.scheduleWorkerRegister);
|
|
13
|
+
this.schedulePrototypeHook = new SchedulePrototypeHook();
|
|
14
|
+
}
|
|
15
|
+
configWillLoad() {
|
|
16
|
+
this.app.loadUnitLifecycleUtil.registerLifecycle(this.scheduleWorkerLoadUnitHook);
|
|
17
|
+
this.app.eggPrototypeLifecycleUtil.registerLifecycle(this.schedulePrototypeHook);
|
|
18
|
+
}
|
|
19
|
+
async beforeClose() {
|
|
20
|
+
this.app.loadUnitLifecycleUtil.deleteLifecycle(this.scheduleWorkerLoadUnitHook);
|
|
21
|
+
this.app.eggPrototypeLifecycleUtil.deleteLifecycle(this.schedulePrototypeHook);
|
|
22
|
+
}
|
|
23
|
+
}
|
|
24
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXBwLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vc3JjL2FwcC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFFQSxPQUFPLEVBQUUsc0JBQXNCLEVBQUUsTUFBTSxpQ0FBaUMsQ0FBQztBQUN6RSxPQUFPLEVBQUUsMEJBQTBCLEVBQUUsTUFBTSxxQ0FBcUMsQ0FBQztBQUNqRixPQUFPLEVBQUUscUJBQXFCLEVBQUUsTUFBTSxnQ0FBZ0MsQ0FBQztBQUV2RSxNQUFNLENBQUMsT0FBTyxPQUFPLG1CQUFtQjtJQUNyQixHQUFHLENBQWM7SUFDakIsc0JBQXNCLENBQXlCO0lBQy9DLDBCQUEwQixDQUE2QjtJQUN2RCxxQkFBcUIsQ0FBd0I7SUFFOUQsWUFBWSxHQUFnQjtRQUMxQixJQUFJLENBQUMsR0FBRyxHQUFHLEdBQUcsQ0FBQztRQUNmLElBQUksQ0FBQyxzQkFBc0IsR0FBRyxJQUFJLHNCQUFzQixDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQztRQUNuRSxJQUFJLENBQUMsMEJBQTBCLEdBQUcsSUFBSSwwQkFBMEIsQ0FBQyxJQUFJLENBQUMsc0JBQXNCLENBQUMsQ0FBQztRQUM5RixJQUFJLENBQUMscUJBQXFCLEdBQUcsSUFBSSxxQkFBcUIsRUFBRSxDQUFDO0lBQzNELENBQUM7SUFFRCxjQUFjO1FBQ1osSUFBSSxDQUFDLEdBQUcsQ0FBQyxxQkFBcUIsQ0FBQyxpQkFBaUIsQ0FBQyxJQUFJLENBQUMsMEJBQTBCLENBQUMsQ0FBQztRQUNsRixJQUFJLENBQUMsR0FBRyxDQUFDLHlCQUF5QixDQUFDLGlCQUFpQixDQUFDLElBQUksQ0FBQyxxQkFBcUIsQ0FBQyxDQUFDO0lBQ25GLENBQUM7SUFFRCxLQUFLLENBQUMsV0FBVztRQUNmLElBQUksQ0FBQyxHQUFHLENBQUMscUJBQXFCLENBQUMsZUFBZSxDQUFDLElBQUksQ0FBQywwQkFBMEIsQ0FBQyxDQUFDO1FBQ2hGLElBQUksQ0FBQyxHQUFHLENBQUMseUJBQXlCLENBQUMsZUFBZSxDQUFDLElBQUksQ0FBQyxxQkFBcUIsQ0FBQyxDQUFDO0lBQ2pGLENBQUM7Q0FDRiJ9
|
package/dist/index.d.ts
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
import
|
|
1
|
+
import './types.ts';
|
package/dist/index.js
CHANGED
|
@@ -1,3 +1,2 @@
|
|
|
1
|
-
import "./types
|
|
2
|
-
|
|
3
|
-
export { };
|
|
1
|
+
import "./types.js";
|
|
2
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi9zcmMvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxZQUFZLENBQUMifQ==
|
|
@@ -1,9 +1,5 @@
|
|
|
1
|
-
import { Context } from
|
|
2
|
-
import { EggPrototype } from
|
|
3
|
-
import { ScheduleMetadata } from
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
type EggScheduleFunction = (ctx: Context, data: any) => Promise<any>;
|
|
7
|
-
declare function eggScheduleAdapterFactory(proto: EggPrototype, metaData: ScheduleMetadata<object>): EggScheduleFunction;
|
|
8
|
-
//#endregion
|
|
9
|
-
export { EggScheduleFunction, eggScheduleAdapterFactory };
|
|
1
|
+
import { Context } from 'egg';
|
|
2
|
+
import { type EggPrototype } from '@eggjs/tegg-metadata';
|
|
3
|
+
import { ScheduleMetadata } from '@eggjs/tegg-schedule-decorator';
|
|
4
|
+
export type EggScheduleFunction = (ctx: Context, data: any) => Promise<any>;
|
|
5
|
+
export declare function eggScheduleAdapterFactory(proto: EggPrototype, metaData: ScheduleMetadata<object>): EggScheduleFunction;
|
|
@@ -1,3 +1,18 @@
|
|
|
1
|
-
import {
|
|
2
|
-
|
|
3
|
-
|
|
1
|
+
import { Context } from 'egg';
|
|
2
|
+
import {} from '@eggjs/tegg-metadata';
|
|
3
|
+
import { ScheduleMetadata } from '@eggjs/tegg-schedule-decorator';
|
|
4
|
+
import { ROOT_PROTO } from '@eggjs/egg-module-common';
|
|
5
|
+
import { EggContainerFactory } from '@eggjs/tegg-runtime';
|
|
6
|
+
export function eggScheduleAdapterFactory(proto, metaData) {
|
|
7
|
+
return async function (ctx, data) {
|
|
8
|
+
ctx[ROOT_PROTO] = proto;
|
|
9
|
+
await ctx.beginModuleScope(async () => {
|
|
10
|
+
if (metaData.disable)
|
|
11
|
+
return;
|
|
12
|
+
const eggObject = await EggContainerFactory.getOrCreateEggObject(proto, proto.name);
|
|
13
|
+
const subscriber = eggObject.obj;
|
|
14
|
+
await subscriber.subscribe(data);
|
|
15
|
+
});
|
|
16
|
+
};
|
|
17
|
+
}
|
|
18
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiRWdnU2NoZWR1bGVBZGFwdGVyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL2xpYi9FZ2dTY2hlZHVsZUFkYXB0ZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLE9BQU8sRUFBRSxNQUFNLEtBQUssQ0FBQztBQUM5QixPQUFPLEVBQXFCLE1BQU0sc0JBQXNCLENBQUM7QUFDekQsT0FBTyxFQUFFLGdCQUFnQixFQUEyQixNQUFNLGdDQUFnQyxDQUFDO0FBQzNGLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQztBQUN0RCxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQztBQUkxRCxNQUFNLFVBQVUseUJBQXlCLENBQUMsS0FBbUIsRUFBRSxRQUFrQztJQUMvRixPQUFPLEtBQUssV0FBVSxHQUFZLEVBQUUsSUFBUztRQUMxQyxHQUFXLENBQUMsVUFBVSxDQUFDLEdBQUcsS0FBSyxDQUFDO1FBQ2pDLE1BQU0sR0FBRyxDQUFDLGdCQUFnQixDQUFDLEtBQUssSUFBSSxFQUFFO1lBQ3BDLElBQUksUUFBUSxDQUFDLE9BQU87Z0JBQUUsT0FBTztZQUM3QixNQUFNLFNBQVMsR0FBRyxNQUFNLG1CQUFtQixDQUFDLG9CQUFvQixDQUFDLEtBQUssRUFBRSxLQUFLLENBQUMsSUFBSSxDQUFDLENBQUM7WUFDcEYsTUFBTSxVQUFVLEdBQUcsU0FBUyxDQUFDLEdBQXlCLENBQUM7WUFDdkQsTUFBTSxVQUFVLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQyxDQUFDO1FBQ25DLENBQUMsQ0FBQyxDQUFDO0lBQ0wsQ0FBQyxDQUFDO0FBQ0osQ0FBQyJ9
|
|
@@ -1,8 +1,4 @@
|
|
|
1
|
-
import { ScheduleMetadata } from
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
declare class EggScheduleMetadataConvertor {
|
|
5
|
-
static convertToEggSchedule(metadata: ScheduleMetadata<object>): object;
|
|
1
|
+
import { ScheduleMetadata } from '@eggjs/tegg-schedule-decorator';
|
|
2
|
+
export declare class EggScheduleMetadataConvertor {
|
|
3
|
+
static convertToEggSchedule(metadata: ScheduleMetadata<object>): object;
|
|
6
4
|
}
|
|
7
|
-
//#endregion
|
|
8
|
-
export { EggScheduleMetadataConvertor };
|
|
@@ -1,3 +1,13 @@
|
|
|
1
|
-
import {
|
|
2
|
-
|
|
3
|
-
|
|
1
|
+
import { ScheduleMetadata } from '@eggjs/tegg-schedule-decorator';
|
|
2
|
+
export class EggScheduleMetadataConvertor {
|
|
3
|
+
static convertToEggSchedule(metadata) {
|
|
4
|
+
return {
|
|
5
|
+
...metadata.scheduleData,
|
|
6
|
+
type: metadata.type,
|
|
7
|
+
env: metadata.env,
|
|
8
|
+
disable: metadata.disable,
|
|
9
|
+
immediate: metadata.immediate,
|
|
10
|
+
};
|
|
11
|
+
}
|
|
12
|
+
}
|
|
13
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiRWdnU2NoZWR1bGVNZXRhZGF0YUNvbnZlcnRvci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9saWIvRWdnU2NoZWR1bGVNZXRhZGF0YUNvbnZlcnRvci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxnQ0FBZ0MsQ0FBQztBQUVsRSxNQUFNLE9BQU8sNEJBQTRCO0lBQ3ZDLE1BQU0sQ0FBQyxvQkFBb0IsQ0FBQyxRQUFrQztRQUM1RCxPQUFPO1lBQ0wsR0FBRyxRQUFRLENBQUMsWUFBWTtZQUN4QixJQUFJLEVBQUUsUUFBUSxDQUFDLElBQUk7WUFDbkIsR0FBRyxFQUFFLFFBQVEsQ0FBQyxHQUFHO1lBQ2pCLE9BQU8sRUFBRSxRQUFRLENBQUMsT0FBTztZQUN6QixTQUFTLEVBQUUsUUFBUSxDQUFDLFNBQVM7U0FDOUIsQ0FBQztJQUNKLENBQUM7Q0FDRiJ9
|
|
@@ -1,9 +1,5 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import {
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
declare class SchedulePrototypeHook implements LifecycleHook<EggPrototypeLifecycleContext, EggPrototype> {
|
|
6
|
-
postCreate(ctx: EggPrototypeLifecycleContext): Promise<void>;
|
|
1
|
+
import { type LifecycleHook } from '@eggjs/tegg-lifecycle';
|
|
2
|
+
import { type EggPrototype, type EggPrototypeLifecycleContext } from '@eggjs/tegg-metadata';
|
|
3
|
+
export declare class SchedulePrototypeHook implements LifecycleHook<EggPrototypeLifecycleContext, EggPrototype> {
|
|
4
|
+
postCreate(ctx: EggPrototypeLifecycleContext): Promise<void>;
|
|
7
5
|
}
|
|
8
|
-
//#endregion
|
|
9
|
-
export { SchedulePrototypeHook };
|
|
@@ -1,3 +1,16 @@
|
|
|
1
|
-
import {
|
|
2
|
-
|
|
3
|
-
|
|
1
|
+
import {} from '@eggjs/tegg-lifecycle';
|
|
2
|
+
import {} from '@eggjs/tegg-metadata';
|
|
3
|
+
import { ScheduleInfoUtil, ScheduleMetadataUtil, ScheduleMetaBuilder } from '@eggjs/tegg-schedule-decorator';
|
|
4
|
+
export class SchedulePrototypeHook {
|
|
5
|
+
async postCreate(ctx) {
|
|
6
|
+
if (!ScheduleInfoUtil.isSchedule(ctx.clazz)) {
|
|
7
|
+
return;
|
|
8
|
+
}
|
|
9
|
+
const builder = new ScheduleMetaBuilder(ctx.clazz);
|
|
10
|
+
const metadata = builder.build();
|
|
11
|
+
if (metadata) {
|
|
12
|
+
ScheduleMetadataUtil.setScheduleMetadata(ctx.clazz, metadata);
|
|
13
|
+
}
|
|
14
|
+
}
|
|
15
|
+
}
|
|
16
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiU2NoZWR1bGVQcm90b3R5cGVIb29rLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL2xpYi9TY2hlZHVsZVByb3RvdHlwZUhvb2sudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFzQixNQUFNLHVCQUF1QixDQUFDO0FBQzNELE9BQU8sRUFBd0QsTUFBTSxzQkFBc0IsQ0FBQztBQUM1RixPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsb0JBQW9CLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSxnQ0FBZ0MsQ0FBQztBQUU3RyxNQUFNLE9BQU8scUJBQXFCO0lBQ2hDLEtBQUssQ0FBQyxVQUFVLENBQUMsR0FBaUM7UUFDaEQsSUFBSSxDQUFDLGdCQUFnQixDQUFDLFVBQVUsQ0FBQyxHQUFHLENBQUMsS0FBSyxDQUFDLEVBQUUsQ0FBQztZQUM1QyxPQUFPO1FBQ1QsQ0FBQztRQUNELE1BQU0sT0FBTyxHQUFHLElBQUksbUJBQW1CLENBQUMsR0FBRyxDQUFDLEtBQUssQ0FBQyxDQUFDO1FBQ25ELE1BQU0sUUFBUSxHQUFHLE9BQU8sQ0FBQyxLQUFLLEVBQUUsQ0FBQztRQUNqQyxJQUFJLFFBQVEsRUFBRSxDQUFDO1lBQ2Isb0JBQW9CLENBQUMsbUJBQW1CLENBQUMsR0FBRyxDQUFDLEtBQUssRUFBRSxRQUFRLENBQUMsQ0FBQztRQUNoRSxDQUFDO0lBQ0gsQ0FBQztDQUNGIn0=
|
|
@@ -1,12 +1,8 @@
|
|
|
1
|
-
import { EggApplicationCore } from
|
|
2
|
-
import { EggProtoImplClass } from
|
|
3
|
-
import { ScheduleMetadata } from
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
constructor(agent: EggApplicationCore);
|
|
9
|
-
register(clazz: EggProtoImplClass<object>, metadata: ScheduleMetadata<object>): void;
|
|
1
|
+
import { type EggApplicationCore } from 'egg';
|
|
2
|
+
import { type EggProtoImplClass } from '@eggjs/tegg';
|
|
3
|
+
import { ScheduleMetadata } from '@eggjs/tegg-schedule-decorator';
|
|
4
|
+
export declare class ScheduleSubscriberRegister {
|
|
5
|
+
private readonly agent;
|
|
6
|
+
constructor(agent: EggApplicationCore);
|
|
7
|
+
register(clazz: EggProtoImplClass<object>, metadata: ScheduleMetadata<object>): void;
|
|
10
8
|
}
|
|
11
|
-
//#endregion
|
|
12
|
-
export { ScheduleSubscriberRegister };
|
|
@@ -1,4 +1,23 @@
|
|
|
1
|
-
import
|
|
2
|
-
import {
|
|
3
|
-
|
|
4
|
-
|
|
1
|
+
import {} from 'egg';
|
|
2
|
+
import { PrototypeUtil } from '@eggjs/tegg';
|
|
3
|
+
import { ScheduleMetadata } from '@eggjs/tegg-schedule-decorator';
|
|
4
|
+
import { EggScheduleMetadataConvertor } from "./EggScheduleMetadataConvertor.js";
|
|
5
|
+
export class ScheduleSubscriberRegister {
|
|
6
|
+
agent;
|
|
7
|
+
constructor(agent) {
|
|
8
|
+
this.agent = agent;
|
|
9
|
+
}
|
|
10
|
+
register(clazz, metadata) {
|
|
11
|
+
// bind subscriber
|
|
12
|
+
const schedule = EggScheduleMetadataConvertor.convertToEggSchedule(metadata);
|
|
13
|
+
const path = PrototypeUtil.getFilePath(clazz);
|
|
14
|
+
if (!metadata.disable) {
|
|
15
|
+
this.agent.logger.info('[@eggjs/tegg-schedule-plugin]: register schedule %s', path);
|
|
16
|
+
}
|
|
17
|
+
this.agent.schedule.registerSchedule({
|
|
18
|
+
schedule,
|
|
19
|
+
key: path,
|
|
20
|
+
});
|
|
21
|
+
}
|
|
22
|
+
}
|
|
23
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiU2NoZWR1bGVTdWJzY3JpYmVyUmVnaXN0ZXIuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvbGliL1NjaGVkdWxlU3Vic2NyaWJlclJlZ2lzdGVyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBMkIsTUFBTSxLQUFLLENBQUM7QUFDOUMsT0FBTyxFQUFFLGFBQWEsRUFBMEIsTUFBTSxhQUFhLENBQUM7QUFDcEUsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sZ0NBQWdDLENBQUM7QUFFbEUsT0FBTyxFQUFFLDRCQUE0QixFQUFFLE1BQU0sbUNBQW1DLENBQUM7QUFFakYsTUFBTSxPQUFPLDBCQUEwQjtJQUNwQixLQUFLLENBQXFCO0lBRTNDLFlBQVksS0FBeUI7UUFDbkMsSUFBSSxDQUFDLEtBQUssR0FBRyxLQUFLLENBQUM7SUFDckIsQ0FBQztJQUVELFFBQVEsQ0FBQyxLQUFnQyxFQUFFLFFBQWtDO1FBQzNFLGtCQUFrQjtRQUNsQixNQUFNLFFBQVEsR0FBRyw0QkFBNEIsQ0FBQyxvQkFBb0IsQ0FBQyxRQUFRLENBQUMsQ0FBQztRQUM3RSxNQUFNLElBQUksR0FBRyxhQUFhLENBQUMsV0FBVyxDQUFDLEtBQUssQ0FBQyxDQUFDO1FBQzlDLElBQUksQ0FBQyxRQUFRLENBQUMsT0FBTyxFQUFFLENBQUM7WUFDdEIsSUFBSSxDQUFDLEtBQUssQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLHFEQUFxRCxFQUFFLElBQUksQ0FBQyxDQUFDO1FBQ3RGLENBQUM7UUFDQSxJQUFJLENBQUMsS0FBYSxDQUFDLFFBQVEsQ0FBQyxnQkFBZ0IsQ0FBQztZQUM1QyxRQUFRO1lBQ1IsR0FBRyxFQUFFLElBQUk7U0FDVixDQUFDLENBQUM7SUFDTCxDQUFDO0NBQ0YifQ==
|
|
@@ -1,12 +1,8 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import { LoadUnit, LoadUnitLifecycleContext } from
|
|
3
|
-
import {
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
constructor(scheduleWorkerRegister: ScheduleWorkerRegister);
|
|
9
|
-
postCreate(_: LoadUnitLifecycleContext, obj: LoadUnit): Promise<void>;
|
|
1
|
+
import { type LifecycleHook } from '@eggjs/tegg';
|
|
2
|
+
import { type LoadUnit, type LoadUnitLifecycleContext } from '@eggjs/tegg-metadata';
|
|
3
|
+
import { ScheduleWorkerRegister } from './ScheduleWorkerRegister.ts';
|
|
4
|
+
export declare class ScheduleWorkerLoadUnitHook implements LifecycleHook<LoadUnitLifecycleContext, LoadUnit> {
|
|
5
|
+
private readonly scheduleWorkerRegister;
|
|
6
|
+
constructor(scheduleWorkerRegister: ScheduleWorkerRegister);
|
|
7
|
+
postCreate(_: LoadUnitLifecycleContext, obj: LoadUnit): Promise<void>;
|
|
10
8
|
}
|
|
11
|
-
//#endregion
|
|
12
|
-
export { ScheduleWorkerLoadUnitHook };
|
|
@@ -1,6 +1,24 @@
|
|
|
1
|
-
import
|
|
2
|
-
import
|
|
3
|
-
import
|
|
4
|
-
import {
|
|
5
|
-
|
|
6
|
-
|
|
1
|
+
import {} from '@eggjs/tegg';
|
|
2
|
+
import { IS_SCHEDULE, SCHEDULE_METADATA, ScheduleMetadata } from '@eggjs/tegg-schedule-decorator';
|
|
3
|
+
import {} from '@eggjs/tegg-metadata';
|
|
4
|
+
import { ScheduleWorkerRegister } from "./ScheduleWorkerRegister.js";
|
|
5
|
+
export class ScheduleWorkerLoadUnitHook {
|
|
6
|
+
scheduleWorkerRegister;
|
|
7
|
+
constructor(scheduleWorkerRegister) {
|
|
8
|
+
this.scheduleWorkerRegister = scheduleWorkerRegister;
|
|
9
|
+
}
|
|
10
|
+
async postCreate(_, obj) {
|
|
11
|
+
const iterator = obj.iterateEggPrototype();
|
|
12
|
+
for (const proto of iterator) {
|
|
13
|
+
if (!proto.getMetaData(IS_SCHEDULE)) {
|
|
14
|
+
continue;
|
|
15
|
+
}
|
|
16
|
+
const metadata = proto.getMetaData(SCHEDULE_METADATA);
|
|
17
|
+
if (!metadata) {
|
|
18
|
+
continue;
|
|
19
|
+
}
|
|
20
|
+
this.scheduleWorkerRegister.register(proto, metadata);
|
|
21
|
+
}
|
|
22
|
+
}
|
|
23
|
+
}
|
|
24
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiU2NoZWR1bGVXb3JrZXJMb2FkVW5pdEhvb2suanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvbGliL1NjaGVkdWxlV29ya2VyTG9hZFVuaXRIb29rLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBc0IsTUFBTSxhQUFhLENBQUM7QUFDakQsT0FBTyxFQUFFLFdBQVcsRUFBRSxpQkFBaUIsRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLGdDQUFnQyxDQUFDO0FBQ2xHLE9BQU8sRUFBZ0QsTUFBTSxzQkFBc0IsQ0FBQztBQUVwRixPQUFPLEVBQUUsc0JBQXNCLEVBQUUsTUFBTSw2QkFBNkIsQ0FBQztBQUVyRSxNQUFNLE9BQU8sMEJBQTBCO0lBQ3BCLHNCQUFzQixDQUF5QjtJQUVoRSxZQUFZLHNCQUE4QztRQUN4RCxJQUFJLENBQUMsc0JBQXNCLEdBQUcsc0JBQXNCLENBQUM7SUFDdkQsQ0FBQztJQUVELEtBQUssQ0FBQyxVQUFVLENBQUMsQ0FBMkIsRUFBRSxHQUFhO1FBQ3pELE1BQU0sUUFBUSxHQUFHLEdBQUcsQ0FBQyxtQkFBbUIsRUFBRSxDQUFDO1FBQzNDLEtBQUssTUFBTSxLQUFLLElBQUksUUFBUSxFQUFFLENBQUM7WUFDN0IsSUFBSSxDQUFDLEtBQUssQ0FBQyxXQUFXLENBQUMsV0FBVyxDQUFDLEVBQUUsQ0FBQztnQkFDcEMsU0FBUztZQUNYLENBQUM7WUFDRCxNQUFNLFFBQVEsR0FBeUMsS0FBSyxDQUFDLFdBQVcsQ0FBQyxpQkFBaUIsQ0FBQyxDQUFDO1lBQzVGLElBQUksQ0FBQyxRQUFRLEVBQUUsQ0FBQztnQkFDZCxTQUFTO1lBQ1gsQ0FBQztZQUNELElBQUksQ0FBQyxzQkFBc0IsQ0FBQyxRQUFRLENBQUMsS0FBSyxFQUFFLFFBQVEsQ0FBQyxDQUFDO1FBQ3hELENBQUM7SUFDSCxDQUFDO0NBQ0YifQ==
|
|
@@ -1,2 +1,8 @@
|
|
|
1
|
-
import {
|
|
2
|
-
|
|
1
|
+
import { Application } from 'egg';
|
|
2
|
+
import { type EggPrototype } from '@eggjs/tegg-metadata';
|
|
3
|
+
import { ScheduleMetadata } from '@eggjs/tegg-schedule-decorator';
|
|
4
|
+
export declare class ScheduleWorkerRegister {
|
|
5
|
+
private readonly app;
|
|
6
|
+
constructor(app: Application);
|
|
7
|
+
register(proto: EggPrototype, metadata: ScheduleMetadata<object>): void;
|
|
8
|
+
}
|
|
@@ -1,5 +1,24 @@
|
|
|
1
|
-
import
|
|
2
|
-
import
|
|
3
|
-
import {
|
|
4
|
-
|
|
5
|
-
|
|
1
|
+
import { Application } from 'egg';
|
|
2
|
+
import { PrototypeUtil } from '@eggjs/tegg';
|
|
3
|
+
import {} from '@eggjs/tegg-metadata';
|
|
4
|
+
import { ScheduleMetadata } from '@eggjs/tegg-schedule-decorator';
|
|
5
|
+
import { eggScheduleAdapterFactory } from "./EggScheduleAdapter.js";
|
|
6
|
+
import { EggScheduleMetadataConvertor } from "./EggScheduleMetadataConvertor.js";
|
|
7
|
+
export class ScheduleWorkerRegister {
|
|
8
|
+
app;
|
|
9
|
+
constructor(app) {
|
|
10
|
+
this.app = app;
|
|
11
|
+
}
|
|
12
|
+
register(proto, metadata) {
|
|
13
|
+
const task = eggScheduleAdapterFactory(proto, metadata);
|
|
14
|
+
const schedule = EggScheduleMetadataConvertor.convertToEggSchedule(metadata);
|
|
15
|
+
const path = proto.getMetaData(PrototypeUtil.FILE_PATH);
|
|
16
|
+
// @ts-expect-error app scheduleWorker is not typed
|
|
17
|
+
this.app.scheduleWorker.registerSchedule({
|
|
18
|
+
schedule,
|
|
19
|
+
task,
|
|
20
|
+
key: path,
|
|
21
|
+
});
|
|
22
|
+
}
|
|
23
|
+
}
|
|
24
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiU2NoZWR1bGVXb3JrZXJSZWdpc3Rlci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9saWIvU2NoZWR1bGVXb3JrZXJSZWdpc3Rlci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sS0FBSyxDQUFDO0FBQ2xDLE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSxhQUFhLENBQUM7QUFDNUMsT0FBTyxFQUFxQixNQUFNLHNCQUFzQixDQUFDO0FBQ3pELE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLGdDQUFnQyxDQUFDO0FBRWxFLE9BQU8sRUFBRSx5QkFBeUIsRUFBRSxNQUFNLHlCQUF5QixDQUFDO0FBQ3BFLE9BQU8sRUFBRSw0QkFBNEIsRUFBRSxNQUFNLG1DQUFtQyxDQUFDO0FBRWpGLE1BQU0sT0FBTyxzQkFBc0I7SUFDaEIsR0FBRyxDQUFjO0lBRWxDLFlBQVksR0FBZ0I7UUFDMUIsSUFBSSxDQUFDLEdBQUcsR0FBRyxHQUFHLENBQUM7SUFDakIsQ0FBQztJQUVELFFBQVEsQ0FBQyxLQUFtQixFQUFFLFFBQWtDO1FBQzlELE1BQU0sSUFBSSxHQUFHLHlCQUF5QixDQUFDLEtBQUssRUFBRSxRQUFRLENBQUMsQ0FBQztRQUN4RCxNQUFNLFFBQVEsR0FBRyw0QkFBNEIsQ0FBQyxvQkFBb0IsQ0FBQyxRQUFRLENBQUMsQ0FBQztRQUM3RSxNQUFNLElBQUksR0FBRyxLQUFLLENBQUMsV0FBVyxDQUFDLGFBQWEsQ0FBQyxTQUFTLENBQUMsQ0FBQztRQUN4RCxtREFBbUQ7UUFDbkQsSUFBSSxDQUFDLEdBQUcsQ0FBQyxjQUFjLENBQUMsZ0JBQWdCLENBQUM7WUFDdkMsUUFBUTtZQUNSLElBQUk7WUFDSixHQUFHLEVBQUUsSUFBSTtTQUNWLENBQUMsQ0FBQztJQUNMLENBQUM7Q0FDRiJ9
|
package/dist/types.d.ts
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
import
|
|
1
|
+
import '@eggjs/tegg-plugin';
|
package/dist/types.js
CHANGED
|
@@ -1,3 +1,2 @@
|
|
|
1
|
-
import
|
|
2
|
-
|
|
3
|
-
export { };
|
|
1
|
+
import '@eggjs/tegg-plugin';
|
|
2
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHlwZXMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi9zcmMvdHlwZXMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxvQkFBb0IsQ0FBQyJ9
|
package/package.json
CHANGED
|
@@ -7,7 +7,7 @@
|
|
|
7
7
|
"schedule"
|
|
8
8
|
]
|
|
9
9
|
},
|
|
10
|
-
"version": "4.0.0-beta.
|
|
10
|
+
"version": "4.0.0-beta.9",
|
|
11
11
|
"description": "schedule decorator for egg",
|
|
12
12
|
"keywords": [
|
|
13
13
|
"egg",
|
|
@@ -47,17 +47,17 @@
|
|
|
47
47
|
"node": ">=22.18.0"
|
|
48
48
|
},
|
|
49
49
|
"dependencies": {
|
|
50
|
-
"@eggjs/egg-module-common": "4.0.0-beta.
|
|
51
|
-
"@eggjs/tegg": "4.0.0-beta.
|
|
52
|
-
"@eggjs/tegg-lifecycle": "4.0.0-beta.
|
|
53
|
-
"@eggjs/tegg-
|
|
54
|
-
"@eggjs/tegg-
|
|
55
|
-
"@eggjs/tegg-
|
|
56
|
-
"@eggjs/tegg-
|
|
50
|
+
"@eggjs/egg-module-common": "4.0.0-beta.9",
|
|
51
|
+
"@eggjs/tegg": "4.0.0-beta.9",
|
|
52
|
+
"@eggjs/tegg-lifecycle": "4.0.0-beta.9",
|
|
53
|
+
"@eggjs/tegg-metadata": "4.0.0-beta.9",
|
|
54
|
+
"@eggjs/tegg-loader": "4.0.0-beta.9",
|
|
55
|
+
"@eggjs/tegg-runtime": "4.0.0-beta.9",
|
|
56
|
+
"@eggjs/tegg-schedule-decorator": "4.0.0-beta.9"
|
|
57
57
|
},
|
|
58
58
|
"peerDependencies": {
|
|
59
59
|
"egg": "beta",
|
|
60
|
-
"@eggjs/tegg-plugin": "4.0.0-beta.
|
|
60
|
+
"@eggjs/tegg-plugin": "4.0.0-beta.9"
|
|
61
61
|
},
|
|
62
62
|
"devDependencies": {
|
|
63
63
|
"@eggjs/bin": "beta",
|
|
@@ -69,10 +69,10 @@
|
|
|
69
69
|
"typescript": "^5.9.3",
|
|
70
70
|
"tsdown": "^0.15.6",
|
|
71
71
|
"unplugin-unused": "^0.5.3",
|
|
72
|
+
"@eggjs/tegg-common-util": "4.0.0-beta.9",
|
|
72
73
|
"@eggjs/module-test-util": "4.0.0-beta.4",
|
|
73
|
-
"@eggjs/tegg-
|
|
74
|
-
"@eggjs/tegg-config": "4.0.0-beta.
|
|
75
|
-
"@eggjs/tegg-plugin": "4.0.0-beta.8"
|
|
74
|
+
"@eggjs/tegg-plugin": "4.0.0-beta.9",
|
|
75
|
+
"@eggjs/tegg-config": "4.0.0-beta.9"
|
|
76
76
|
},
|
|
77
77
|
"publishConfig": {
|
|
78
78
|
"access": "public"
|
|
@@ -84,7 +84,7 @@
|
|
|
84
84
|
"test:mocha": "egg-bin test",
|
|
85
85
|
"cov:mocha": "egg-bin cov",
|
|
86
86
|
"clean": "rimraf dist",
|
|
87
|
-
"build": "tsdown",
|
|
87
|
+
"build": "tsdown && rimraf dist && tsc -b --clean && tsc",
|
|
88
88
|
"typecheck": "tsc --noEmit"
|
|
89
89
|
}
|
|
90
90
|
}
|
|
@@ -1,19 +0,0 @@
|
|
|
1
|
-
import { Context } from "egg";
|
|
2
|
-
import "@eggjs/tegg-metadata";
|
|
3
|
-
import { ScheduleMetadata } from "@eggjs/tegg-schedule-decorator";
|
|
4
|
-
import { ROOT_PROTO } from "@eggjs/egg-module-common";
|
|
5
|
-
import { EggContainerFactory } from "@eggjs/tegg-runtime";
|
|
6
|
-
|
|
7
|
-
//#region src/lib/EggScheduleAdapter.ts
|
|
8
|
-
function eggScheduleAdapterFactory(proto, metaData) {
|
|
9
|
-
return async function(ctx, data) {
|
|
10
|
-
ctx[ROOT_PROTO] = proto;
|
|
11
|
-
await ctx.beginModuleScope(async () => {
|
|
12
|
-
if (metaData.disable) return;
|
|
13
|
-
await (await EggContainerFactory.getOrCreateEggObject(proto, proto.name)).obj.subscribe(data);
|
|
14
|
-
});
|
|
15
|
-
};
|
|
16
|
-
}
|
|
17
|
-
|
|
18
|
-
//#endregion
|
|
19
|
-
export { eggScheduleAdapterFactory };
|
|
@@ -1,17 +0,0 @@
|
|
|
1
|
-
import { ScheduleMetadata } from "@eggjs/tegg-schedule-decorator";
|
|
2
|
-
|
|
3
|
-
//#region src/lib/EggScheduleMetadataConvertor.ts
|
|
4
|
-
var EggScheduleMetadataConvertor = class {
|
|
5
|
-
static convertToEggSchedule(metadata) {
|
|
6
|
-
return {
|
|
7
|
-
...metadata.scheduleData,
|
|
8
|
-
type: metadata.type,
|
|
9
|
-
env: metadata.env,
|
|
10
|
-
disable: metadata.disable,
|
|
11
|
-
immediate: metadata.immediate
|
|
12
|
-
};
|
|
13
|
-
}
|
|
14
|
-
};
|
|
15
|
-
|
|
16
|
-
//#endregion
|
|
17
|
-
export { EggScheduleMetadataConvertor };
|
|
@@ -1,15 +0,0 @@
|
|
|
1
|
-
import "@eggjs/tegg-metadata";
|
|
2
|
-
import { ScheduleInfoUtil, ScheduleMetaBuilder, ScheduleMetadataUtil } from "@eggjs/tegg-schedule-decorator";
|
|
3
|
-
import "@eggjs/tegg-lifecycle";
|
|
4
|
-
|
|
5
|
-
//#region src/lib/SchedulePrototypeHook.ts
|
|
6
|
-
var SchedulePrototypeHook = class {
|
|
7
|
-
async postCreate(ctx) {
|
|
8
|
-
if (!ScheduleInfoUtil.isSchedule(ctx.clazz)) return;
|
|
9
|
-
const metadata = new ScheduleMetaBuilder(ctx.clazz).build();
|
|
10
|
-
if (metadata) ScheduleMetadataUtil.setScheduleMetadata(ctx.clazz, metadata);
|
|
11
|
-
}
|
|
12
|
-
};
|
|
13
|
-
|
|
14
|
-
//#endregion
|
|
15
|
-
export { SchedulePrototypeHook };
|
|
@@ -1,24 +0,0 @@
|
|
|
1
|
-
import { EggScheduleMetadataConvertor } from "./EggScheduleMetadataConvertor-DztYwrQw.js";
|
|
2
|
-
import "egg";
|
|
3
|
-
import { PrototypeUtil } from "@eggjs/tegg";
|
|
4
|
-
import { ScheduleMetadata } from "@eggjs/tegg-schedule-decorator";
|
|
5
|
-
|
|
6
|
-
//#region src/lib/ScheduleSubscriberRegister.ts
|
|
7
|
-
var ScheduleSubscriberRegister = class {
|
|
8
|
-
agent;
|
|
9
|
-
constructor(agent) {
|
|
10
|
-
this.agent = agent;
|
|
11
|
-
}
|
|
12
|
-
register(clazz, metadata) {
|
|
13
|
-
const schedule = EggScheduleMetadataConvertor.convertToEggSchedule(metadata);
|
|
14
|
-
const path = PrototypeUtil.getFilePath(clazz);
|
|
15
|
-
if (!metadata.disable) this.agent.logger.info("[@eggjs/tegg-schedule-plugin]: register schedule %s", path);
|
|
16
|
-
this.agent.schedule.registerSchedule({
|
|
17
|
-
schedule,
|
|
18
|
-
key: path
|
|
19
|
-
});
|
|
20
|
-
}
|
|
21
|
-
};
|
|
22
|
-
|
|
23
|
-
//#endregion
|
|
24
|
-
export { ScheduleSubscriberRegister };
|
|
@@ -1,23 +0,0 @@
|
|
|
1
|
-
import "@eggjs/tegg-metadata";
|
|
2
|
-
import "@eggjs/tegg";
|
|
3
|
-
import { IS_SCHEDULE, SCHEDULE_METADATA, ScheduleMetadata } from "@eggjs/tegg-schedule-decorator";
|
|
4
|
-
|
|
5
|
-
//#region src/lib/ScheduleWorkerLoadUnitHook.ts
|
|
6
|
-
var ScheduleWorkerLoadUnitHook = class {
|
|
7
|
-
scheduleWorkerRegister;
|
|
8
|
-
constructor(scheduleWorkerRegister) {
|
|
9
|
-
this.scheduleWorkerRegister = scheduleWorkerRegister;
|
|
10
|
-
}
|
|
11
|
-
async postCreate(_, obj) {
|
|
12
|
-
const iterator = obj.iterateEggPrototype();
|
|
13
|
-
for (const proto of iterator) {
|
|
14
|
-
if (!proto.getMetaData(IS_SCHEDULE)) continue;
|
|
15
|
-
const metadata = proto.getMetaData(SCHEDULE_METADATA);
|
|
16
|
-
if (!metadata) continue;
|
|
17
|
-
this.scheduleWorkerRegister.register(proto, metadata);
|
|
18
|
-
}
|
|
19
|
-
}
|
|
20
|
-
};
|
|
21
|
-
|
|
22
|
-
//#endregion
|
|
23
|
-
export { ScheduleWorkerLoadUnitHook };
|
|
@@ -1,27 +0,0 @@
|
|
|
1
|
-
import { EggScheduleMetadataConvertor } from "./EggScheduleMetadataConvertor-DztYwrQw.js";
|
|
2
|
-
import { eggScheduleAdapterFactory } from "./EggScheduleAdapter-DEn6ulTC.js";
|
|
3
|
-
import { Application } from "egg";
|
|
4
|
-
import "@eggjs/tegg-metadata";
|
|
5
|
-
import { PrototypeUtil } from "@eggjs/tegg";
|
|
6
|
-
import { ScheduleMetadata } from "@eggjs/tegg-schedule-decorator";
|
|
7
|
-
|
|
8
|
-
//#region src/lib/ScheduleWorkerRegister.ts
|
|
9
|
-
var ScheduleWorkerRegister = class {
|
|
10
|
-
app;
|
|
11
|
-
constructor(app) {
|
|
12
|
-
this.app = app;
|
|
13
|
-
}
|
|
14
|
-
register(proto, metadata) {
|
|
15
|
-
const task = eggScheduleAdapterFactory(proto, metadata);
|
|
16
|
-
const schedule = EggScheduleMetadataConvertor.convertToEggSchedule(metadata);
|
|
17
|
-
const path = proto.getMetaData(PrototypeUtil.FILE_PATH);
|
|
18
|
-
this.app.scheduleWorker.registerSchedule({
|
|
19
|
-
schedule,
|
|
20
|
-
task,
|
|
21
|
-
key: path
|
|
22
|
-
});
|
|
23
|
-
}
|
|
24
|
-
};
|
|
25
|
-
|
|
26
|
-
//#endregion
|
|
27
|
-
export { ScheduleWorkerRegister };
|
|
@@ -1,12 +0,0 @@
|
|
|
1
|
-
import { Application } from "egg";
|
|
2
|
-
import { EggPrototype } from "@eggjs/tegg-metadata";
|
|
3
|
-
import { ScheduleMetadata } from "@eggjs/tegg-schedule-decorator";
|
|
4
|
-
|
|
5
|
-
//#region src/lib/ScheduleWorkerRegister.d.ts
|
|
6
|
-
declare class ScheduleWorkerRegister {
|
|
7
|
-
private readonly app;
|
|
8
|
-
constructor(app: Application);
|
|
9
|
-
register(proto: EggPrototype, metadata: ScheduleMetadata<object>): void;
|
|
10
|
-
}
|
|
11
|
-
//#endregion
|
|
12
|
-
export { ScheduleWorkerRegister };
|
package/dist/types-64z8ustY.d.ts
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import "@eggjs/tegg-plugin";
|
package/dist/types-DoWCKYJQ.js
DELETED