zs 1 år sedan
förälder
incheckning
4a459aa6fa
3 ändrade filer med 22 tillägg och 22 borttagningar
  1. 4 0
      package.json
  2. 18 0
      src/schedule/scheduleService.ts
  3. 0 22
      src/timer/scheduleService.ts

+ 4 - 0
package.json

@@ -17,18 +17,22 @@
     "@midwayjs/swagger": "^3.11.3",
     "@midwayjs/typegoose": "^3.11.3",
     "@midwayjs/validate": "^3.0.0",
+    "@midwayjs/web": "^3.11.6",
     "@typegoose/typegoose": "^11.0.1",
     "amqp-connection-manager": "^4.1.13",
     "amqplib": "^0.10.3",
     "compressing": "^1.9.0",
+    "egg": "^3.16.0",
     "exceljs": "^4.3.0",
     "free-midway-component": "^1.0.35",
+    "midway-schedule": "^2.15.0",
     "moment": "^2.29.4",
     "mongoose": "^7.0.4",
     "swagger-ui-dist": "^4.18.2"
   },
   "devDependencies": {
     "@midwayjs/cli": "^2.0.0",
+    "@midwayjs/egg-ts-helper": "^1.2.1",
     "@midwayjs/mock": "^3.0.0",
     "@types/amqplib": "^0.10.1",
     "@types/jest": "^29.2.0",

+ 18 - 0
src/schedule/scheduleService.ts

@@ -0,0 +1,18 @@
+import { Provide, Inject, Schedule, CommonSchedule } from '@midwayjs/decorator';
+import { Context } from 'egg';
+
+@Provide()
+@Schedule({
+  interval: 2333, // 2.333s 间隔
+  type: 'worker', // 指定某一个 worker 执行
+})
+export class scheduleService implements CommonSchedule {
+  @Inject()
+  ctx: Context;
+
+  // 定时执行的具体任务
+  async exec() {
+    // 如果需要使用ctx,就可以 this.ctx.xxx
+    console.log('定时任务');
+  }
+}

+ 0 - 22
src/timer/scheduleService.ts

@@ -1,22 +0,0 @@
-import {
-  Provide,
-  Inject,
-  ServerlessTrigger,
-  ServerlessTriggerType,
-} from '@midwayjs/core';
-import { Context, SCF } from '@midwayjs/faas';
-
-@Provide()
-export class HelloTencentService {
-  @Inject()
-  ctx: Context;
-
-  @ServerlessTrigger(ServerlessTriggerType.TIMER, {
-    type: 'cron',
-    value: '*/60 * * * * * *', // 每 60s 触发
-  })
-  async handleTimerEvent(event: SCF.TimerEvent) {
-    this.ctx.logger.info(event);
-    return 'hello world';
-  }
-}