新增demo示例

This commit is contained in:
ap 2021-03-24 00:35:59 +08:00
parent f2b4d62f11
commit 0753b2ca3c
3 changed files with 24 additions and 7 deletions

View File

@ -1,7 +1,8 @@
import { Get, Inject, Provide } from '@midwayjs/decorator'; import { Get, Inject, Post, Provide } from '@midwayjs/decorator';
import { CoolController, BaseController } from 'midwayjs-cool-core'; import { CoolController, BaseController } from 'midwayjs-cool-core';
import { DemoAppGoodsEntity } from '../../../entity/goods'; import { IQueue } from 'midwayjs-cool-queue';
import { DemoGoodsService } from '../../../service/goods'; import { DemoAppGoodsEntity } from '../../entity/goods';
import { DemoGoodsService } from '../../service/goods';
/** /**
* *
@ -18,6 +19,10 @@ export class DemoAppGoodsController extends BaseController {
@Inject() @Inject()
demoGoodsService: DemoGoodsService; demoGoodsService: DemoGoodsService;
// 队列
@Inject()
demoQueue: IQueue;
/** /**
* *
* @returns * @returns
@ -26,4 +31,15 @@ export class DemoAppGoodsController extends BaseController {
async all() { async all() {
return this.ok(await this.demoGoodsService.all()); return this.ok(await this.demoGoodsService.all());
} }
/**
*
*/
@Post('/queue')
async queue(){
this.demoQueue.queue.add({a: 1}, {
removeOnComplete: true,
removeOnFail: true,
});
}
} }

View File

@ -13,7 +13,7 @@ export abstract class DemoQueue implements ICoolQueue {
async data(job: any, done: any): Promise<void> { async data(job: any, done: any): Promise<void> {
// 这边可以执行定时任务具体的业务或队列的业务 // 这边可以执行定时任务具体的业务或队列的业务
console.log('数据', job); console.log('数据', job.data);
done(); done();
} }
} }

View File

@ -1,15 +1,16 @@
import { Provide } from '@midwayjs/decorator'; import { Provide } from '@midwayjs/decorator';
import { BaseService } from 'midwayjs-cool-core'; import { BaseService } from 'midwayjs-cool-core';
/** /**
* * demo示例
*/ */
@Provide() @Provide()
export class DemoTaskService extends BaseService { export class DemoTaskService extends BaseService {
/** /**
* *
* @param params []
*/ */
async test() { async test(params?: []) {
// 需要登录后台任务管理配置任务 // 需要登录后台任务管理配置任务
console.log('任务执行了'); console.log('任务执行了', params);
} }
} }