@eggjs/tegg-schedule-plugin 4.0.0-beta.4 → 4.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.
Files changed (40) hide show
  1. package/README.md +12 -0
  2. package/dist/agent.d.ts +11 -0
  3. package/dist/agent.js +27 -0
  4. package/dist/app.d.ts +14 -0
  5. package/dist/app.js +28 -0
  6. package/dist/index.d.ts +1 -0
  7. package/dist/index.js +3 -0
  8. package/dist/lib/EggScheduleAdapter.d.ts +9 -0
  9. package/dist/lib/EggScheduleAdapter.js +19 -0
  10. package/dist/lib/EggScheduleMetadataConvertor.d.ts +8 -0
  11. package/dist/lib/EggScheduleMetadataConvertor.js +17 -0
  12. package/dist/lib/SchedulePrototypeHook.d.ts +9 -0
  13. package/dist/lib/SchedulePrototypeHook.js +15 -0
  14. package/dist/lib/ScheduleSubscriberRegister.d.ts +12 -0
  15. package/dist/lib/ScheduleSubscriberRegister.js +24 -0
  16. package/dist/lib/ScheduleWorkerLoadUnitHook.d.ts +12 -0
  17. package/dist/lib/ScheduleWorkerLoadUnitHook.js +24 -0
  18. package/dist/lib/ScheduleWorkerRegister.d.ts +12 -0
  19. package/dist/lib/ScheduleWorkerRegister.js +27 -0
  20. package/dist/types.d.ts +1 -0
  21. package/dist/types.js +3 -0
  22. package/package.json +49 -45
  23. package/agent.d.ts +0 -7
  24. package/agent.js +0 -29
  25. package/app.d.ts +0 -10
  26. package/app.js +0 -24
  27. package/index.d.ts +0 -1
  28. package/index.js +0 -2
  29. package/lib/EggScheduleAdapter.d.ts +0 -5
  30. package/lib/EggScheduleAdapter.js +0 -15
  31. package/lib/EggScheduleMetadataConvertor.d.ts +0 -4
  32. package/lib/EggScheduleMetadataConvertor.js +0 -12
  33. package/lib/SchedulePrototypeHook.d.ts +0 -5
  34. package/lib/SchedulePrototypeHook.js +0 -14
  35. package/lib/ScheduleSubscriberRegister.d.ts +0 -8
  36. package/lib/ScheduleSubscriberRegister.js +0 -21
  37. package/lib/ScheduleWorkerLoadUnitHook.d.ts +0 -8
  38. package/lib/ScheduleWorkerLoadUnitHook.js +0 -21
  39. package/lib/ScheduleWorkerRegister.d.ts +0 -8
  40. package/lib/ScheduleWorkerRegister.js +0 -20
package/README.md CHANGED
@@ -1,5 +1,17 @@
1
1
  # @eggjs/tegg-schedule-plugin
2
2
 
3
+ [![NPM version][npm-image]][npm-url]
4
+ [![Known Vulnerabilities][snyk-image]][snyk-url]
5
+ [![npm download][download-image]][download-url]
6
+ [![Node.js Version](https://img.shields.io/node/v/@eggjs/tegg-schedule-plugin.svg?style=flat)](https://nodejs.org/en/download/)
7
+
8
+ [npm-image]: https://img.shields.io/npm/v/@eggjs/tegg-schedule-plugin.svg?style=flat-square
9
+ [npm-url]: https://npmjs.org/package/@eggjs/tegg-schedule-plugin
10
+ [snyk-image]: https://snyk.io/test/npm/@eggjs/tegg-schedule-plugin/badge.svg?style=flat-square
11
+ [snyk-url]: https://snyk.io/test/npm/@eggjs/tegg-schedule-plugin
12
+ [download-image]: https://img.shields.io/npm/dm/@eggjs/tegg-schedule-plugin.svg?style=flat-square
13
+ [download-url]: https://npmjs.org/package/@eggjs/tegg-schedule-plugin
14
+
3
15
  使用注解的方式来开发 egg 中的 schedule
4
16
 
5
17
  ## Install
@@ -0,0 +1,11 @@
1
+ import { Agent, ILifecycleBoot } from "egg";
2
+
3
+ //#region src/agent.d.ts
4
+ declare class ScheduleAppBootHook implements ILifecycleBoot {
5
+ private readonly agent;
6
+ private readonly scheduleSubscriberRegister;
7
+ constructor(agent: Agent);
8
+ didLoad(): Promise<void>;
9
+ }
10
+ //#endregion
11
+ export { ScheduleAppBootHook as default };
package/dist/agent.js ADDED
@@ -0,0 +1,27 @@
1
+ import { ScheduleSubscriberRegister } from "./lib/ScheduleSubscriberRegister.js";
2
+ import { Agent } from "egg";
3
+ import { LoaderFactory } from "@eggjs/tegg-loader";
4
+ import { EggLoadUnitType } from "@eggjs/tegg-metadata";
5
+ import { ScheduleInfoUtil, ScheduleMetaBuilder } from "@eggjs/tegg/schedule";
6
+
7
+ //#region src/agent.ts
8
+ var ScheduleAppBootHook = class {
9
+ agent;
10
+ scheduleSubscriberRegister;
11
+ constructor(agent) {
12
+ this.agent = agent;
13
+ this.scheduleSubscriberRegister = new ScheduleSubscriberRegister(this.agent);
14
+ }
15
+ async didLoad() {
16
+ for (const moduleConfig of this.agent.moduleReferences) {
17
+ const clazzList = await LoaderFactory.createLoader(moduleConfig.path, EggLoadUnitType.MODULE).load();
18
+ for (const clazz of clazzList) if (ScheduleInfoUtil.isSchedule(clazz)) {
19
+ const metadata = new ScheduleMetaBuilder(clazz).build();
20
+ this.scheduleSubscriberRegister.register(clazz, metadata);
21
+ }
22
+ }
23
+ }
24
+ };
25
+
26
+ //#endregion
27
+ export { ScheduleAppBootHook as default };
package/dist/app.d.ts ADDED
@@ -0,0 +1,14 @@
1
+ import { Application, ILifecycleBoot } from "egg";
2
+
3
+ //#region src/app.d.ts
4
+ declare class ScheduleAppBootHook implements ILifecycleBoot {
5
+ private readonly app;
6
+ private readonly scheduleWorkerRegister;
7
+ private readonly scheduleWorkerLoadUnitHook;
8
+ private readonly schedulePrototypeHook;
9
+ constructor(app: Application);
10
+ configWillLoad(): void;
11
+ beforeClose(): Promise<void>;
12
+ }
13
+ //#endregion
14
+ export { ScheduleAppBootHook as default };
package/dist/app.js ADDED
@@ -0,0 +1,28 @@
1
+ import { ScheduleWorkerRegister } from "./lib/ScheduleWorkerRegister.js";
2
+ import { ScheduleWorkerLoadUnitHook } from "./lib/ScheduleWorkerLoadUnitHook.js";
3
+ import { SchedulePrototypeHook } from "./lib/SchedulePrototypeHook.js";
4
+
5
+ //#region src/app.ts
6
+ var ScheduleAppBootHook = class {
7
+ app;
8
+ scheduleWorkerRegister;
9
+ scheduleWorkerLoadUnitHook;
10
+ schedulePrototypeHook;
11
+ constructor(app) {
12
+ this.app = app;
13
+ this.scheduleWorkerRegister = new ScheduleWorkerRegister(this.app);
14
+ this.scheduleWorkerLoadUnitHook = new ScheduleWorkerLoadUnitHook(this.scheduleWorkerRegister);
15
+ this.schedulePrototypeHook = new SchedulePrototypeHook();
16
+ }
17
+ configWillLoad() {
18
+ this.app.loadUnitLifecycleUtil.registerLifecycle(this.scheduleWorkerLoadUnitHook);
19
+ this.app.eggPrototypeLifecycleUtil.registerLifecycle(this.schedulePrototypeHook);
20
+ }
21
+ async beforeClose() {
22
+ this.app.loadUnitLifecycleUtil.deleteLifecycle(this.scheduleWorkerLoadUnitHook);
23
+ this.app.eggPrototypeLifecycleUtil.deleteLifecycle(this.schedulePrototypeHook);
24
+ }
25
+ };
26
+
27
+ //#endregion
28
+ export { ScheduleAppBootHook as default };
@@ -0,0 +1 @@
1
+ export { };
package/dist/index.js ADDED
@@ -0,0 +1,3 @@
1
+ import "./types.js";
2
+
3
+ export { };
@@ -0,0 +1,9 @@
1
+ import { Context } from "egg";
2
+ import { EggPrototype } from "@eggjs/tegg-metadata";
3
+ import { ScheduleMetadata } from "@eggjs/tegg-schedule-decorator";
4
+
5
+ //#region src/lib/EggScheduleAdapter.d.ts
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 };
@@ -0,0 +1,19 @@
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 };
@@ -0,0 +1,8 @@
1
+ import { ScheduleMetadata } from "@eggjs/tegg-schedule-decorator";
2
+
3
+ //#region src/lib/EggScheduleMetadataConvertor.d.ts
4
+ declare class EggScheduleMetadataConvertor {
5
+ static convertToEggSchedule(metadata: ScheduleMetadata<object>): object;
6
+ }
7
+ //#endregion
8
+ export { EggScheduleMetadataConvertor };
@@ -0,0 +1,17 @@
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 };
@@ -0,0 +1,9 @@
1
+ import { EggPrototype, EggPrototypeLifecycleContext } from "@eggjs/tegg-metadata";
2
+ import { LifecycleHook } from "@eggjs/tegg-lifecycle";
3
+
4
+ //#region src/lib/SchedulePrototypeHook.d.ts
5
+ declare class SchedulePrototypeHook implements LifecycleHook<EggPrototypeLifecycleContext, EggPrototype> {
6
+ postCreate(ctx: EggPrototypeLifecycleContext): Promise<void>;
7
+ }
8
+ //#endregion
9
+ export { SchedulePrototypeHook };
@@ -0,0 +1,15 @@
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 };
@@ -0,0 +1,12 @@
1
+ import { EggApplicationCore } from "egg";
2
+ import { EggProtoImplClass } from "@eggjs/tegg";
3
+ import { ScheduleMetadata } from "@eggjs/tegg-schedule-decorator";
4
+
5
+ //#region src/lib/ScheduleSubscriberRegister.d.ts
6
+ declare class ScheduleSubscriberRegister {
7
+ private readonly agent;
8
+ constructor(agent: EggApplicationCore);
9
+ register(clazz: EggProtoImplClass<object>, metadata: ScheduleMetadata<object>): void;
10
+ }
11
+ //#endregion
12
+ export { ScheduleSubscriberRegister };
@@ -0,0 +1,24 @@
1
+ import { EggScheduleMetadataConvertor } from "./EggScheduleMetadataConvertor.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 };
@@ -0,0 +1,12 @@
1
+ import { ScheduleWorkerRegister } from "./ScheduleWorkerRegister.js";
2
+ import { LoadUnit, LoadUnitLifecycleContext } from "@eggjs/tegg-metadata";
3
+ import { LifecycleHook } from "@eggjs/tegg";
4
+
5
+ //#region src/lib/ScheduleWorkerLoadUnitHook.d.ts
6
+ declare class ScheduleWorkerLoadUnitHook implements LifecycleHook<LoadUnitLifecycleContext, LoadUnit> {
7
+ private readonly scheduleWorkerRegister;
8
+ constructor(scheduleWorkerRegister: ScheduleWorkerRegister);
9
+ postCreate(_: LoadUnitLifecycleContext, obj: LoadUnit): Promise<void>;
10
+ }
11
+ //#endregion
12
+ export { ScheduleWorkerLoadUnitHook };
@@ -0,0 +1,24 @@
1
+ import "./ScheduleWorkerRegister.js";
2
+ import "@eggjs/tegg-metadata";
3
+ import "@eggjs/tegg";
4
+ import { IS_SCHEDULE, SCHEDULE_METADATA, ScheduleMetadata } from "@eggjs/tegg-schedule-decorator";
5
+
6
+ //#region src/lib/ScheduleWorkerLoadUnitHook.ts
7
+ var ScheduleWorkerLoadUnitHook = class {
8
+ scheduleWorkerRegister;
9
+ constructor(scheduleWorkerRegister) {
10
+ this.scheduleWorkerRegister = scheduleWorkerRegister;
11
+ }
12
+ async postCreate(_, obj) {
13
+ const iterator = obj.iterateEggPrototype();
14
+ for (const proto of iterator) {
15
+ if (!proto.getMetaData(IS_SCHEDULE)) continue;
16
+ const metadata = proto.getMetaData(SCHEDULE_METADATA);
17
+ if (!metadata) continue;
18
+ this.scheduleWorkerRegister.register(proto, metadata);
19
+ }
20
+ }
21
+ };
22
+
23
+ //#endregion
24
+ export { ScheduleWorkerLoadUnitHook };
@@ -0,0 +1,12 @@
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 };
@@ -0,0 +1,27 @@
1
+ import { EggScheduleMetadataConvertor } from "./EggScheduleMetadataConvertor.js";
2
+ import { eggScheduleAdapterFactory } from "./EggScheduleAdapter.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 };
@@ -0,0 +1 @@
1
+ import "@eggjs/tegg-plugin";
package/dist/types.js ADDED
@@ -0,0 +1,3 @@
1
+ import "@eggjs/tegg-plugin";
2
+
3
+ export { };
package/package.json CHANGED
@@ -7,7 +7,7 @@
7
7
  "schedule"
8
8
  ]
9
9
  },
10
- "version": "4.0.0-beta.4",
10
+ "version": "4.0.0-beta.6",
11
11
  "description": "schedule decorator for egg",
12
12
  "keywords": [
13
13
  "egg",
@@ -18,34 +18,23 @@
18
18
  "schedule"
19
19
  ],
20
20
  "files": [
21
- "app.js",
22
- "app.d.ts",
23
- "agent.js",
24
- "agent.d.ts",
25
- "lib/**/*.js",
26
- "lib/**/*.d.ts",
27
- "app/**/*.js",
28
- "app/**/*.d.ts",
29
- "index.js",
30
- "index.d.ts"
21
+ "dist"
31
22
  ],
32
23
  "type": "module",
33
24
  "exports": {
34
- ".": {
35
- "types": "./index.d.ts",
36
- "default": "./index.js"
37
- },
25
+ ".": "./dist/index.js",
26
+ "./agent": "./dist/agent.js",
27
+ "./app": "./dist/app.js",
28
+ "./lib/EggScheduleAdapter": "./dist/lib/EggScheduleAdapter.js",
29
+ "./lib/EggScheduleMetadataConvertor": "./dist/lib/EggScheduleMetadataConvertor.js",
30
+ "./lib/SchedulePrototypeHook": "./dist/lib/SchedulePrototypeHook.js",
31
+ "./lib/ScheduleSubscriberRegister": "./dist/lib/ScheduleSubscriberRegister.js",
32
+ "./lib/ScheduleWorkerLoadUnitHook": "./dist/lib/ScheduleWorkerLoadUnitHook.js",
33
+ "./lib/ScheduleWorkerRegister": "./dist/lib/ScheduleWorkerRegister.js",
34
+ "./types": "./dist/types.js",
38
35
  "./package.json": "./package.json"
39
36
  },
40
- "scripts": {
41
- "test": "egg-bin test",
42
- "cov": "egg-bin cov",
43
- "clean": "tsc -b --clean",
44
- "tsc": "npm run clean && tsc -p ./tsconfig.pub.json",
45
- "tsc:pub": "npm run tsc",
46
- "prepublishOnly": "npm run tsc"
47
- },
48
- "homepage": "https://github.com/eggjs/tegg",
37
+ "homepage": "https://github.com/eggjs/tegg/tree/next/plugin/schedule",
49
38
  "bugs": {
50
39
  "url": "https://github.com/eggjs/tegg/issues"
51
40
  },
@@ -55,32 +44,47 @@
55
44
  "directory": "plugin/schedule"
56
45
  },
57
46
  "engines": {
58
- "node": ">=20.0.0"
47
+ "node": ">=22.18.0"
59
48
  },
60
49
  "dependencies": {
61
- "@eggjs/core": "^6.4.0",
62
- "@eggjs/egg-module-common": "^4.0.0-beta.4",
63
- "@eggjs/tegg": "^4.0.0-beta.4",
64
- "@eggjs/tegg-common-util": "^4.0.0-beta.4",
65
- "@eggjs/tegg-lifecycle": "^4.0.0-beta.4",
66
- "@eggjs/tegg-loader": "^4.0.0-beta.4",
67
- "@eggjs/tegg-metadata": "^4.0.0-beta.4",
68
- "@eggjs/tegg-runtime": "^4.0.0-beta.4",
69
- "@eggjs/tegg-schedule-decorator": "^4.0.0-beta.4"
50
+ "@eggjs/egg-module-common": "4.0.0-beta.6",
51
+ "@eggjs/tegg": "4.0.0-beta.6",
52
+ "@eggjs/tegg-loader": "4.0.0-beta.6",
53
+ "@eggjs/tegg-lifecycle": "4.0.0-beta.6",
54
+ "@eggjs/tegg-metadata": "4.0.0-beta.6",
55
+ "@eggjs/tegg-runtime": "4.0.0-beta.6",
56
+ "@eggjs/tegg-schedule-decorator": "4.0.0-beta.6"
57
+ },
58
+ "peerDependencies": {
59
+ "egg": "beta",
60
+ "@eggjs/tegg-plugin": "4.0.0-beta.6"
70
61
  },
71
62
  "devDependencies": {
72
- "@eggjs/mock": "6",
73
- "@eggjs/module-test-util": "^4.0.0-beta.4",
74
- "@eggjs/tegg-config": "^4.0.0-beta.4",
75
- "@eggjs/tegg-plugin": "^4.0.0-beta.4",
76
- "@types/mocha": "10",
77
- "@types/node": "22",
78
- "egg": "4",
79
- "ts-node": "10",
80
- "typescript": "5"
63
+ "@eggjs/bin": "beta",
64
+ "@eggjs/mock": "beta",
65
+ "@types/mocha": "^10.0.10",
66
+ "@types/node": "^22.10.5",
67
+ "mocha": "^11.0.1",
68
+ "egg": "beta",
69
+ "typescript": "^5.9.3",
70
+ "tsdown": "^0.15.6",
71
+ "unplugin-unused": "^0.5.3",
72
+ "@eggjs/tegg-common-util": "4.0.0-beta.6",
73
+ "@eggjs/module-test-util": "4.0.0-beta.4",
74
+ "@eggjs/tegg-config": "4.0.0-beta.6",
75
+ "@eggjs/tegg-plugin": "4.0.0-beta.6"
81
76
  },
82
77
  "publishConfig": {
83
78
  "access": "public"
84
79
  },
85
- "gitHead": "9ba90bed3ab9f641ceaa6a7db560095817b7e52c"
86
- }
80
+ "main": "./dist/index.js",
81
+ "module": "./dist/index.js",
82
+ "types": "./dist/index.d.ts",
83
+ "scripts": {
84
+ "test:mocha": "egg-bin test",
85
+ "cov:mocha": "egg-bin cov",
86
+ "clean": "rimraf dist",
87
+ "build": "tsdown",
88
+ "typecheck": "tsc --noEmit"
89
+ }
90
+ }
package/agent.d.ts DELETED
@@ -1,7 +0,0 @@
1
- import { EggCore as Agent, ILifecycleBoot } from '@eggjs/core';
2
- export default class ScheduleAppBootHook implements ILifecycleBoot {
3
- private readonly agent;
4
- private readonly scheduleSubscriberRegister;
5
- constructor(agent: Agent);
6
- didLoad(): Promise<void>;
7
- }
package/agent.js DELETED
@@ -1,29 +0,0 @@
1
- import { LoaderFactory } from '@eggjs/tegg-loader';
2
- import { EggLoadUnitType } from '@eggjs/tegg-metadata';
3
- import { ScheduleInfoUtil, ScheduleMetaBuilder } from '@eggjs/tegg/schedule';
4
- import { ScheduleSubscriberRegister } from './lib/ScheduleSubscriberRegister.js';
5
- export default class ScheduleAppBootHook {
6
- agent;
7
- scheduleSubscriberRegister;
8
- constructor(agent) {
9
- this.agent = agent;
10
- this.scheduleSubscriberRegister = new ScheduleSubscriberRegister(this.agent);
11
- }
12
- async didLoad() {
13
- // FIXME: tegg use lots singleton, in mm.app test case, agent/app in one process
14
- // if use start tegg in agent, the app will use the same singleton
15
- // so we should refactor tegg to not use singleton.
16
- for (const moduleConfig of this.agent.moduleReferences) {
17
- const loader = LoaderFactory.createLoader(moduleConfig.path, EggLoadUnitType.MODULE);
18
- const clazzList = await loader.load();
19
- for (const clazz of clazzList) {
20
- if (ScheduleInfoUtil.isSchedule(clazz)) {
21
- const builder = new ScheduleMetaBuilder(clazz);
22
- const metadata = builder.build();
23
- this.scheduleSubscriberRegister.register(clazz, metadata);
24
- }
25
- }
26
- }
27
- }
28
- }
29
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWdlbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyJhZ2VudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFDQSxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sb0JBQW9CLENBQUM7QUFDbkQsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLHNCQUFzQixDQUFDO0FBQ3ZELE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxtQkFBbUIsRUFBRSxNQUFNLHNCQUFzQixDQUFDO0FBQzdFLE9BQU8sRUFBRSwwQkFBMEIsRUFBRSxNQUFNLHFDQUFxQyxDQUFDO0FBRWpGLE1BQU0sQ0FBQyxPQUFPLE9BQU8sbUJBQW1CO0lBQ3JCLEtBQUssQ0FBUTtJQUNiLDBCQUEwQixDQUE2QjtJQUV4RSxZQUFZLEtBQVk7UUFDdEIsSUFBSSxDQUFDLEtBQUssR0FBRyxLQUFLLENBQUM7UUFDbkIsSUFBSSxDQUFDLDBCQUEwQixHQUFHLElBQUksMEJBQTBCLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDO0lBQy9FLENBQUM7SUFFRCxLQUFLLENBQUMsT0FBTztRQUNYLGdGQUFnRjtRQUNoRixrRUFBa0U7UUFDbEUsbURBQW1EO1FBQ25ELEtBQUssTUFBTSxZQUFZLElBQUksSUFBSSxDQUFDLEtBQUssQ0FBQyxnQkFBZ0IsRUFBRSxDQUFDO1lBQ3ZELE1BQU0sTUFBTSxHQUFHLGFBQWEsQ0FBQyxZQUFZLENBQUMsWUFBWSxDQUFDLElBQUksRUFBRSxlQUFlLENBQUMsTUFBTSxDQUFDLENBQUM7WUFDckYsTUFBTSxTQUFTLEdBQUcsTUFBTSxNQUFNLENBQUMsSUFBSSxFQUFFLENBQUM7WUFDdEMsS0FBSyxNQUFNLEtBQUssSUFBSSxTQUFTLEVBQUUsQ0FBQztnQkFDOUIsSUFBSSxnQkFBZ0IsQ0FBQyxVQUFVLENBQUMsS0FBSyxDQUFDLEVBQUUsQ0FBQztvQkFDdkMsTUFBTSxPQUFPLEdBQUcsSUFBSSxtQkFBbUIsQ0FBQyxLQUFLLENBQUMsQ0FBQztvQkFDL0MsTUFBTSxRQUFRLEdBQUcsT0FBTyxDQUFDLEtBQUssRUFBRSxDQUFDO29CQUNqQyxJQUFJLENBQUMsMEJBQTBCLENBQUMsUUFBUSxDQUFDLEtBQUssRUFBRSxRQUFRLENBQUMsQ0FBQztnQkFDNUQsQ0FBQztZQUNILENBQUM7UUFDSCxDQUFDO0lBQ0gsQ0FBQztDQUNGIn0=
package/app.d.ts DELETED
@@ -1,10 +0,0 @@
1
- import { EggCore as Application, ILifecycleBoot } from '@eggjs/core';
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>;
10
- }
package/app.js DELETED
@@ -1,24 +0,0 @@
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,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXBwLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiYXBwLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUNBLE9BQU8sRUFBRSxzQkFBc0IsRUFBRSxNQUFNLGlDQUFpQyxDQUFDO0FBQ3pFLE9BQU8sRUFBRSwwQkFBMEIsRUFBRSxNQUFNLHFDQUFxQyxDQUFDO0FBQ2pGLE9BQU8sRUFBRSxxQkFBcUIsRUFBRSxNQUFNLGdDQUFnQyxDQUFDO0FBRXZFLE1BQU0sQ0FBQyxPQUFPLE9BQU8sbUJBQW1CO0lBQ3JCLEdBQUcsQ0FBYztJQUNqQixzQkFBc0IsQ0FBeUI7SUFDL0MsMEJBQTBCLENBQTZCO0lBQ3ZELHFCQUFxQixDQUF3QjtJQUU5RCxZQUFZLEdBQWdCO1FBQzFCLElBQUksQ0FBQyxHQUFHLEdBQUcsR0FBRyxDQUFDO1FBQ2YsSUFBSSxDQUFDLHNCQUFzQixHQUFHLElBQUksc0JBQXNCLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDO1FBQ25FLElBQUksQ0FBQywwQkFBMEIsR0FBRyxJQUFJLDBCQUEwQixDQUFDLElBQUksQ0FBQyxzQkFBc0IsQ0FBQyxDQUFDO1FBQzlGLElBQUksQ0FBQyxxQkFBcUIsR0FBRyxJQUFJLHFCQUFxQixFQUFFLENBQUM7SUFDM0QsQ0FBQztJQUVELGNBQWM7UUFDWixJQUFJLENBQUMsR0FBRyxDQUFDLHFCQUFxQixDQUFDLGlCQUFpQixDQUFDLElBQUksQ0FBQywwQkFBMEIsQ0FBQyxDQUFDO1FBQ2xGLElBQUksQ0FBQyxHQUFHLENBQUMseUJBQXlCLENBQUMsaUJBQWlCLENBQUMsSUFBSSxDQUFDLHFCQUFxQixDQUFDLENBQUM7SUFDbkYsQ0FBQztJQUVELEtBQUssQ0FBQyxXQUFXO1FBQ2YsSUFBSSxDQUFDLEdBQUcsQ0FBQyxxQkFBcUIsQ0FBQyxlQUFlLENBQUMsSUFBSSxDQUFDLDBCQUEwQixDQUFDLENBQUM7UUFDaEYsSUFBSSxDQUFDLEdBQUcsQ0FBQyx5QkFBeUIsQ0FBQyxlQUFlLENBQUMsSUFBSSxDQUFDLHFCQUFxQixDQUFDLENBQUM7SUFDakYsQ0FBQztDQUNGIn0=
package/index.d.ts DELETED
@@ -1 +0,0 @@
1
- import '@eggjs/tegg-plugin';
package/index.js DELETED
@@ -1,2 +0,0 @@
1
- import '@eggjs/tegg-plugin';
2
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyJpbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLG9CQUFvQixDQUFDIn0=
@@ -1,5 +0,0 @@
1
- import { Context } from '@eggjs/core';
2
- import { 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,15 +0,0 @@
1
- import { ROOT_PROTO } from '@eggjs/egg-module-common';
2
- import { EggContainerFactory } from '@eggjs/tegg-runtime';
3
- export function eggScheduleAdapterFactory(proto, metaData) {
4
- return async function (ctx, data) {
5
- ctx[ROOT_PROTO] = proto;
6
- await ctx.beginModuleScope(async () => {
7
- if (metaData.disable)
8
- return;
9
- const eggObject = await EggContainerFactory.getOrCreateEggObject(proto, proto.name);
10
- const subscriber = eggObject.obj;
11
- await subscriber.subscribe(data);
12
- });
13
- };
14
- }
15
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiRWdnU2NoZWR1bGVBZGFwdGVyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiRWdnU2NoZWR1bGVBZGFwdGVyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUdBLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQztBQUN0RCxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQztBQUkxRCxNQUFNLFVBQVUseUJBQXlCLENBQUMsS0FBbUIsRUFBRSxRQUFrQztJQUMvRixPQUFPLEtBQUssV0FBVSxHQUFZLEVBQUUsSUFBUztRQUMxQyxHQUFXLENBQUMsVUFBVSxDQUFDLEdBQUcsS0FBSyxDQUFDO1FBQ2pDLE1BQU0sR0FBRyxDQUFDLGdCQUFnQixDQUFDLEtBQUssSUFBSSxFQUFFO1lBQ3BDLElBQUksUUFBUSxDQUFDLE9BQU87Z0JBQUUsT0FBTztZQUM3QixNQUFNLFNBQVMsR0FBRyxNQUFNLG1CQUFtQixDQUFDLG9CQUFvQixDQUFDLEtBQUssRUFBRSxLQUFLLENBQUMsSUFBSSxDQUFDLENBQUM7WUFDcEYsTUFBTSxVQUFVLEdBQUcsU0FBUyxDQUFDLEdBQXlCLENBQUM7WUFDdkQsTUFBTSxVQUFVLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQyxDQUFDO1FBQ25DLENBQUMsQ0FBQyxDQUFDO0lBQ0wsQ0FBQyxDQUFDO0FBQ0osQ0FBQyJ9
@@ -1,4 +0,0 @@
1
- import { ScheduleMetadata } from '@eggjs/tegg-schedule-decorator';
2
- export declare class EggScheduleMetadataConvertor {
3
- static convertToEggSchedule(metadata: ScheduleMetadata<object>): object;
4
- }
@@ -1,12 +0,0 @@
1
- export class EggScheduleMetadataConvertor {
2
- static convertToEggSchedule(metadata) {
3
- return {
4
- ...metadata.scheduleData,
5
- type: metadata.type,
6
- env: metadata.env,
7
- disable: metadata.disable,
8
- immediate: metadata.immediate,
9
- };
10
- }
11
- }
12
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiRWdnU2NoZWR1bGVNZXRhZGF0YUNvbnZlcnRvci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIkVnZ1NjaGVkdWxlTWV0YWRhdGFDb252ZXJ0b3IudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBRUEsTUFBTSxPQUFPLDRCQUE0QjtJQUN2QyxNQUFNLENBQUMsb0JBQW9CLENBQUMsUUFBa0M7UUFDNUQsT0FBTztZQUNMLEdBQUcsUUFBUSxDQUFDLFlBQVk7WUFDeEIsSUFBSSxFQUFFLFFBQVEsQ0FBQyxJQUFJO1lBQ25CLEdBQUcsRUFBRSxRQUFRLENBQUMsR0FBRztZQUNqQixPQUFPLEVBQUUsUUFBUSxDQUFDLE9BQU87WUFDekIsU0FBUyxFQUFFLFFBQVEsQ0FBQyxTQUFTO1NBQzlCLENBQUM7SUFDSixDQUFDO0NBQ0YifQ==
@@ -1,5 +0,0 @@
1
- import { LifecycleHook } from '@eggjs/tegg-lifecycle';
2
- import { EggPrototype, EggPrototypeLifecycleContext } from '@eggjs/tegg-metadata';
3
- export declare class SchedulePrototypeHook implements LifecycleHook<EggPrototypeLifecycleContext, EggPrototype> {
4
- postCreate(ctx: EggPrototypeLifecycleContext): Promise<void>;
5
- }
@@ -1,14 +0,0 @@
1
- import { ScheduleInfoUtil, ScheduleMetadataUtil, ScheduleMetaBuilder } from '@eggjs/tegg-schedule-decorator';
2
- export class SchedulePrototypeHook {
3
- async postCreate(ctx) {
4
- if (!ScheduleInfoUtil.isSchedule(ctx.clazz)) {
5
- return;
6
- }
7
- const builder = new ScheduleMetaBuilder(ctx.clazz);
8
- const metadata = builder.build();
9
- if (metadata) {
10
- ScheduleMetadataUtil.setScheduleMetadata(ctx.clazz, metadata);
11
- }
12
- }
13
- }
14
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiU2NoZWR1bGVQcm90b3R5cGVIb29rLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiU2NoZWR1bGVQcm90b3R5cGVIb29rLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUVBLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxvQkFBb0IsRUFBRSxtQkFBbUIsRUFBRSxNQUFNLGdDQUFnQyxDQUFDO0FBRTdHLE1BQU0sT0FBTyxxQkFBcUI7SUFDaEMsS0FBSyxDQUFDLFVBQVUsQ0FBQyxHQUFpQztRQUNoRCxJQUFJLENBQUMsZ0JBQWdCLENBQUMsVUFBVSxDQUFDLEdBQUcsQ0FBQyxLQUFLLENBQUMsRUFBRSxDQUFDO1lBQzVDLE9BQU87UUFDVCxDQUFDO1FBQ0QsTUFBTSxPQUFPLEdBQUcsSUFBSSxtQkFBbUIsQ0FBQyxHQUFHLENBQUMsS0FBSyxDQUFDLENBQUM7UUFDbkQsTUFBTSxRQUFRLEdBQUcsT0FBTyxDQUFDLEtBQUssRUFBRSxDQUFDO1FBQ2pDLElBQUksUUFBUSxFQUFFLENBQUM7WUFDYixvQkFBb0IsQ0FBQyxtQkFBbUIsQ0FBQyxHQUFHLENBQUMsS0FBSyxFQUFFLFFBQVEsQ0FBQyxDQUFDO1FBQ2hFLENBQUM7SUFDSCxDQUFDO0NBQ0YifQ==
@@ -1,8 +0,0 @@
1
- import { EggCore as Application } from '@eggjs/core';
2
- import { EggProtoImplClass } from '@eggjs/tegg';
3
- import { ScheduleMetadata } from '@eggjs/tegg-schedule-decorator';
4
- export declare class ScheduleSubscriberRegister {
5
- private readonly agent;
6
- constructor(agent: Application);
7
- register(clazz: EggProtoImplClass<object>, metadata: ScheduleMetadata<object>): void;
8
- }
@@ -1,21 +0,0 @@
1
- import { PrototypeUtil } from '@eggjs/tegg';
2
- import { EggScheduleMetadataConvertor } from './EggScheduleMetadataConvertor.js';
3
- export class ScheduleSubscriberRegister {
4
- agent;
5
- constructor(agent) {
6
- this.agent = agent;
7
- }
8
- register(clazz, metadata) {
9
- // bind subscriber
10
- const schedule = EggScheduleMetadataConvertor.convertToEggSchedule(metadata);
11
- const path = PrototypeUtil.getFilePath(clazz);
12
- if (!metadata.disable) {
13
- this.agent.logger.info('[@eggjs/tegg-schedule-plugin]: register schedule %s', path);
14
- }
15
- this.agent.schedule.registerSchedule({
16
- schedule,
17
- key: path,
18
- });
19
- }
20
- }
21
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiU2NoZWR1bGVTdWJzY3JpYmVyUmVnaXN0ZXIuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyJTY2hlZHVsZVN1YnNjcmliZXJSZWdpc3Rlci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFDQSxPQUFPLEVBQUUsYUFBYSxFQUFxQixNQUFNLGFBQWEsQ0FBQztBQUUvRCxPQUFPLEVBQUUsNEJBQTRCLEVBQUUsTUFBTSxtQ0FBbUMsQ0FBQztBQUVqRixNQUFNLE9BQU8sMEJBQTBCO0lBQ3BCLEtBQUssQ0FBYztJQUVwQyxZQUFZLEtBQWtCO1FBQzVCLElBQUksQ0FBQyxLQUFLLEdBQUcsS0FBSyxDQUFDO0lBQ3JCLENBQUM7SUFFRCxRQUFRLENBQUMsS0FBZ0MsRUFBRSxRQUFrQztRQUMzRSxrQkFBa0I7UUFDbEIsTUFBTSxRQUFRLEdBQUcsNEJBQTRCLENBQUMsb0JBQW9CLENBQUMsUUFBUSxDQUFDLENBQUM7UUFDN0UsTUFBTSxJQUFJLEdBQUcsYUFBYSxDQUFDLFdBQVcsQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUM5QyxJQUFJLENBQUMsUUFBUSxDQUFDLE9BQU8sRUFBRSxDQUFDO1lBQ3RCLElBQUksQ0FBQyxLQUFLLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxxREFBcUQsRUFBRSxJQUFJLENBQUMsQ0FBQztRQUN0RixDQUFDO1FBQ0EsSUFBSSxDQUFDLEtBQWEsQ0FBQyxRQUFRLENBQUMsZ0JBQWdCLENBQUM7WUFDNUMsUUFBUTtZQUNSLEdBQUcsRUFBRSxJQUFJO1NBQ1YsQ0FBQyxDQUFDO0lBQ0wsQ0FBQztDQUNGIn0=
@@ -1,8 +0,0 @@
1
- import { LifecycleHook } from '@eggjs/tegg';
2
- import { LoadUnit, LoadUnitLifecycleContext } from '@eggjs/tegg-metadata';
3
- import { ScheduleWorkerRegister } from './ScheduleWorkerRegister.js';
4
- export declare class ScheduleWorkerLoadUnitHook implements LifecycleHook<LoadUnitLifecycleContext, LoadUnit> {
5
- private readonly scheduleWorkerRegister;
6
- constructor(scheduleWorkerRegister: ScheduleWorkerRegister);
7
- postCreate(_: LoadUnitLifecycleContext, obj: LoadUnit): Promise<void>;
8
- }
@@ -1,21 +0,0 @@
1
- import { IS_SCHEDULE, SCHEDULE_METADATA } from '@eggjs/tegg-schedule-decorator';
2
- export class ScheduleWorkerLoadUnitHook {
3
- scheduleWorkerRegister;
4
- constructor(scheduleWorkerRegister) {
5
- this.scheduleWorkerRegister = scheduleWorkerRegister;
6
- }
7
- async postCreate(_, obj) {
8
- const iterator = obj.iterateEggPrototype();
9
- for (const proto of iterator) {
10
- if (!proto.getMetaData(IS_SCHEDULE)) {
11
- continue;
12
- }
13
- const metadata = proto.getMetaData(SCHEDULE_METADATA);
14
- if (!metadata) {
15
- continue;
16
- }
17
- this.scheduleWorkerRegister.register(proto, metadata);
18
- }
19
- }
20
- }
21
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiU2NoZWR1bGVXb3JrZXJMb2FkVW5pdEhvb2suanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyJTY2hlZHVsZVdvcmtlckxvYWRVbml0SG9vay50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFDQSxPQUFPLEVBQUUsV0FBVyxFQUFFLGlCQUFpQixFQUFvQixNQUFNLGdDQUFnQyxDQUFDO0FBSWxHLE1BQU0sT0FBTywwQkFBMEI7SUFDcEIsc0JBQXNCLENBQXlCO0lBRWhFLFlBQVksc0JBQThDO1FBQ3hELElBQUksQ0FBQyxzQkFBc0IsR0FBRyxzQkFBc0IsQ0FBQztJQUN2RCxDQUFDO0lBRUQsS0FBSyxDQUFDLFVBQVUsQ0FBQyxDQUEyQixFQUFFLEdBQWE7UUFDekQsTUFBTSxRQUFRLEdBQUcsR0FBRyxDQUFDLG1CQUFtQixFQUFFLENBQUM7UUFDM0MsS0FBSyxNQUFNLEtBQUssSUFBSSxRQUFRLEVBQUUsQ0FBQztZQUM3QixJQUFJLENBQUMsS0FBSyxDQUFDLFdBQVcsQ0FBQyxXQUFXLENBQUMsRUFBRSxDQUFDO2dCQUNwQyxTQUFTO1lBQ1gsQ0FBQztZQUNELE1BQU0sUUFBUSxHQUF5QyxLQUFLLENBQUMsV0FBVyxDQUFDLGlCQUFpQixDQUFDLENBQUM7WUFDNUYsSUFBSSxDQUFDLFFBQVEsRUFBRSxDQUFDO2dCQUNkLFNBQVM7WUFDWCxDQUFDO1lBQ0QsSUFBSSxDQUFDLHNCQUFzQixDQUFDLFFBQVEsQ0FBQyxLQUFLLEVBQUUsUUFBUSxDQUFDLENBQUM7UUFDeEQsQ0FBQztJQUNILENBQUM7Q0FDRiJ9
@@ -1,8 +0,0 @@
1
- import { EggCore as Application } from '@eggjs/core';
2
- import { 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,20 +0,0 @@
1
- import { PrototypeUtil } from '@eggjs/tegg';
2
- import { eggScheduleAdapterFactory } from './EggScheduleAdapter.js';
3
- import { EggScheduleMetadataConvertor } from './EggScheduleMetadataConvertor.js';
4
- export class ScheduleWorkerRegister {
5
- app;
6
- constructor(app) {
7
- this.app = app;
8
- }
9
- register(proto, metadata) {
10
- const task = eggScheduleAdapterFactory(proto, metadata);
11
- const schedule = EggScheduleMetadataConvertor.convertToEggSchedule(metadata);
12
- const path = proto.getMetaData(PrototypeUtil.FILE_PATH);
13
- this.app.scheduleWorker.registerSchedule({
14
- schedule,
15
- task,
16
- key: path,
17
- });
18
- }
19
- }
20
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiU2NoZWR1bGVXb3JrZXJSZWdpc3Rlci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIlNjaGVkdWxlV29ya2VyUmVnaXN0ZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQ0EsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLGFBQWEsQ0FBQztBQUc1QyxPQUFPLEVBQUUseUJBQXlCLEVBQUUsTUFBTSx5QkFBeUIsQ0FBQztBQUNwRSxPQUFPLEVBQUUsNEJBQTRCLEVBQUUsTUFBTSxtQ0FBbUMsQ0FBQztBQUVqRixNQUFNLE9BQU8sc0JBQXNCO0lBQ2hCLEdBQUcsQ0FBYztJQUVsQyxZQUFZLEdBQWdCO1FBQzFCLElBQUksQ0FBQyxHQUFHLEdBQUcsR0FBRyxDQUFDO0lBQ2pCLENBQUM7SUFFRCxRQUFRLENBQUMsS0FBbUIsRUFBRSxRQUFrQztRQUM5RCxNQUFNLElBQUksR0FBRyx5QkFBeUIsQ0FBQyxLQUFLLEVBQUUsUUFBUSxDQUFDLENBQUM7UUFDeEQsTUFBTSxRQUFRLEdBQUcsNEJBQTRCLENBQUMsb0JBQW9CLENBQUMsUUFBUSxDQUFDLENBQUM7UUFDN0UsTUFBTSxJQUFJLEdBQUcsS0FBSyxDQUFDLFdBQVcsQ0FBQyxhQUFhLENBQUMsU0FBUyxDQUFDLENBQUM7UUFDdkQsSUFBSSxDQUFDLEdBQVcsQ0FBQyxjQUFjLENBQUMsZ0JBQWdCLENBQUM7WUFDaEQsUUFBUTtZQUNSLElBQUk7WUFDSixHQUFHLEVBQUUsSUFBSTtTQUNWLENBQUMsQ0FBQztJQUNMLENBQUM7Q0FDRiJ9