midway-fatcms 0.0.1-beta.13 → 0.0.1-beta.14

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.
@@ -30,7 +30,7 @@ function fixCancelBodyData(body, id) {
30
30
  body.condition = conditionObj;
31
31
  // fix data
32
32
  const dataObj = (body.data || {});
33
- dataObj.task_status = AsyncTaskModel_1.TaskStatus.CANCELLED;
33
+ dataObj.task_status = AsyncTaskModel_1.SysAsyncTaskStatus.CANCELLED;
34
34
  body.data = dataObj;
35
35
  }
36
36
  function fixCreateBodyData(body) {
@@ -39,7 +39,7 @@ function fixCreateBodyData(body) {
39
39
  }
40
40
  // fix data
41
41
  const dataObj = (body.data || {});
42
- dataObj.task_status = AsyncTaskModel_1.TaskStatus.PENDING;
42
+ dataObj.task_status = AsyncTaskModel_1.SysAsyncTaskStatus.PENDING;
43
43
  }
44
44
  /**
45
45
  * 异步任务框架
package/dist/index.d.ts CHANGED
@@ -8,6 +8,7 @@ export * from './controller/gateway/FileController';
8
8
  export * from './controller/gateway/ProxyApiGatewayController';
9
9
  export * from './controller/gateway/PublicApiController';
10
10
  export * from './controller/gateway/StaticController';
11
+ export * from './controller/gateway/AsyncTaskController';
11
12
  export * from './controller/helpers.controller';
12
13
  export * from './controller/home.controller';
13
14
  export * from './controller/manage/AnyApiMangeApi';
@@ -65,6 +66,8 @@ export * from './service/curd/CurdMixService';
65
66
  export * from './service/curd/CurdProService';
66
67
  export * from './service/proxyapi/ProxyApiLoadService';
67
68
  export * from './service/proxyapi/ProxyApiService';
69
+ export * from './service/asyncTask/AsyncTaskService';
70
+ export * from './service/asyncTask/AsyncTaskRunnerService';
68
71
  export * from './models/userSession';
69
72
  export * from './models/bizmodels';
70
73
  export * from './models/SystemEntities';
@@ -72,6 +75,7 @@ export * from './models/SystemPerm';
72
75
  export * from './models/contextLogger';
73
76
  export * from './models/devops';
74
77
  export * from './models/SystemTables';
78
+ export * from './models/AsyncTaskModel';
75
79
  export * from './libs/utils/common-dto';
76
80
  export * from './libs/utils/crypto-utils';
77
81
  export * from './libs/utils/fatcms-request';
package/dist/index.js CHANGED
@@ -26,6 +26,7 @@ __exportStar(require("./controller/gateway/FileController"), exports);
26
26
  __exportStar(require("./controller/gateway/ProxyApiGatewayController"), exports);
27
27
  __exportStar(require("./controller/gateway/PublicApiController"), exports);
28
28
  __exportStar(require("./controller/gateway/StaticController"), exports);
29
+ __exportStar(require("./controller/gateway/AsyncTaskController"), exports);
29
30
  __exportStar(require("./controller/helpers.controller"), exports);
30
31
  __exportStar(require("./controller/home.controller"), exports);
31
32
  __exportStar(require("./controller/manage/AnyApiMangeApi"), exports);
@@ -83,6 +84,8 @@ __exportStar(require("./service/curd/CurdMixService"), exports);
83
84
  __exportStar(require("./service/curd/CurdProService"), exports);
84
85
  __exportStar(require("./service/proxyapi/ProxyApiLoadService"), exports);
85
86
  __exportStar(require("./service/proxyapi/ProxyApiService"), exports);
87
+ __exportStar(require("./service/asyncTask/AsyncTaskService"), exports);
88
+ __exportStar(require("./service/asyncTask/AsyncTaskRunnerService"), exports);
86
89
  __exportStar(require("./models/userSession"), exports);
87
90
  __exportStar(require("./models/bizmodels"), exports);
88
91
  __exportStar(require("./models/SystemEntities"), exports);
@@ -90,6 +93,7 @@ __exportStar(require("./models/SystemPerm"), exports);
90
93
  __exportStar(require("./models/contextLogger"), exports);
91
94
  __exportStar(require("./models/devops"), exports);
92
95
  __exportStar(require("./models/SystemTables"), exports);
96
+ __exportStar(require("./models/AsyncTaskModel"), exports);
93
97
  __exportStar(require("./libs/utils/common-dto"), exports);
94
98
  __exportStar(require("./libs/utils/crypto-utils"), exports);
95
99
  __exportStar(require("./libs/utils/fatcms-request"), exports);
@@ -4,14 +4,14 @@ export interface SysAsyncTaskEntity {
4
4
  task_name: string;
5
5
  task_description: string | null;
6
6
  task_type: string;
7
- task_status: TaskStatus;
7
+ task_status: SysAsyncTaskStatus;
8
8
  input_params: any;
9
9
  output_result: any | null;
10
10
  input_file_path: string | null;
11
- input_file_format: FileFormat | null;
11
+ input_file_format: SysAsyncFileFormat | null;
12
12
  input_file_size: number | null;
13
13
  output_file_path: string | null;
14
- output_file_format: FileFormat | null;
14
+ output_file_format: SysAsyncFileFormat | null;
15
15
  output_file_size: number | null;
16
16
  input_total_records: number | null;
17
17
  output_total_records: number | null;
@@ -30,7 +30,7 @@ export interface SysAsyncTaskEntity {
30
30
  updated_at: Date;
31
31
  expired_at: Date | null;
32
32
  }
33
- export declare enum TaskStatus {
33
+ export declare enum SysAsyncTaskStatus {
34
34
  PENDING = "PENDING",
35
35
  RUNNING = "RUNNING",
36
36
  SUCCEEDED = "SUCCEEDED",
@@ -38,7 +38,7 @@ export declare enum TaskStatus {
38
38
  CANCELLED = "CANCELLED",
39
39
  PAUSED = "PAUSED"
40
40
  }
41
- export declare enum FileFormat {
41
+ export declare enum SysAsyncFileFormat {
42
42
  XLSX = "xlsx",
43
43
  CSV = "csv",
44
44
  JSON = "json",
@@ -50,15 +50,15 @@ export declare enum FileFormat {
50
50
  PNG = "png",
51
51
  JPG = "jpg"
52
52
  }
53
- export interface ITaskHandler {
54
- execute(ctx: TaskContext): Promise<void>;
53
+ export interface ISysAsyncTaskHandler {
54
+ execute(ctx: SysAsyncTaskContext): Promise<void>;
55
55
  }
56
- export interface TaskContext {
56
+ export interface SysAsyncTaskContext {
57
57
  task: SysAsyncTaskEntity;
58
58
  }
59
- export interface TaskHandlerConfig {
59
+ export interface SysAsyncTaskHandlerConfig {
60
60
  taskType: string;
61
- handler: ITaskHandler;
61
+ handler: ISysAsyncTaskHandler;
62
62
  maxRetries?: number;
63
63
  priority?: number;
64
64
  expireSeconds?: number;
@@ -1,25 +1,25 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.FileFormat = exports.TaskStatus = void 0;
4
- var TaskStatus;
5
- (function (TaskStatus) {
6
- TaskStatus["PENDING"] = "PENDING";
7
- TaskStatus["RUNNING"] = "RUNNING";
8
- TaskStatus["SUCCEEDED"] = "SUCCEEDED";
9
- TaskStatus["FAILED"] = "FAILED";
10
- TaskStatus["CANCELLED"] = "CANCELLED";
11
- TaskStatus["PAUSED"] = "PAUSED";
12
- })(TaskStatus = exports.TaskStatus || (exports.TaskStatus = {}));
13
- var FileFormat;
14
- (function (FileFormat) {
15
- FileFormat["XLSX"] = "xlsx";
16
- FileFormat["CSV"] = "csv";
17
- FileFormat["JSON"] = "json";
18
- FileFormat["PDF"] = "pdf";
19
- FileFormat["TXT"] = "txt";
20
- FileFormat["XML"] = "xml";
21
- FileFormat["ZIP"] = "zip";
22
- FileFormat["HTML"] = "html";
23
- FileFormat["PNG"] = "png";
24
- FileFormat["JPG"] = "jpg";
25
- })(FileFormat = exports.FileFormat || (exports.FileFormat = {}));
3
+ exports.SysAsyncFileFormat = exports.SysAsyncTaskStatus = void 0;
4
+ var SysAsyncTaskStatus;
5
+ (function (SysAsyncTaskStatus) {
6
+ SysAsyncTaskStatus["PENDING"] = "PENDING";
7
+ SysAsyncTaskStatus["RUNNING"] = "RUNNING";
8
+ SysAsyncTaskStatus["SUCCEEDED"] = "SUCCEEDED";
9
+ SysAsyncTaskStatus["FAILED"] = "FAILED";
10
+ SysAsyncTaskStatus["CANCELLED"] = "CANCELLED";
11
+ SysAsyncTaskStatus["PAUSED"] = "PAUSED";
12
+ })(SysAsyncTaskStatus = exports.SysAsyncTaskStatus || (exports.SysAsyncTaskStatus = {}));
13
+ var SysAsyncFileFormat;
14
+ (function (SysAsyncFileFormat) {
15
+ SysAsyncFileFormat["XLSX"] = "xlsx";
16
+ SysAsyncFileFormat["CSV"] = "csv";
17
+ SysAsyncFileFormat["JSON"] = "json";
18
+ SysAsyncFileFormat["PDF"] = "pdf";
19
+ SysAsyncFileFormat["TXT"] = "txt";
20
+ SysAsyncFileFormat["XML"] = "xml";
21
+ SysAsyncFileFormat["ZIP"] = "zip";
22
+ SysAsyncFileFormat["HTML"] = "html";
23
+ SysAsyncFileFormat["PNG"] = "png";
24
+ SysAsyncFileFormat["JPG"] = "jpg";
25
+ })(SysAsyncFileFormat = exports.SysAsyncFileFormat || (exports.SysAsyncFileFormat = {}));
@@ -32,10 +32,10 @@ class AsyncTaskRunner {
32
32
  const taskElement = taskList[i];
33
33
  try {
34
34
  await this.executeTask(taskElement);
35
- taskElement.task_status = AsyncTaskModel_1.TaskStatus.SUCCEEDED;
35
+ taskElement.task_status = AsyncTaskModel_1.SysAsyncTaskStatus.SUCCEEDED;
36
36
  }
37
37
  catch (error) {
38
- taskElement.task_status = AsyncTaskModel_1.TaskStatus.FAILED;
38
+ taskElement.task_status = AsyncTaskModel_1.SysAsyncTaskStatus.FAILED;
39
39
  taskElement.error_message = (0, errorToString_1.errorToString)(error);
40
40
  }
41
41
  }
@@ -63,7 +63,7 @@ let AsyncTaskRunnerService = class AsyncTaskRunnerService extends BaseService_1.
63
63
  const { SystemDbName, SystemDbType } = global_config_1.GLOBAL_STATIC_CONFIG.getConfig();
64
64
  const queryRes = await this.curdProService.executeCrudByCfg({
65
65
  condition: {
66
- task_status: AsyncTaskModel_1.TaskStatus.PENDING
66
+ task_status: AsyncTaskModel_1.SysAsyncTaskStatus.PENDING
67
67
  },
68
68
  limit: 10
69
69
  }, {
@@ -84,7 +84,7 @@ let AsyncTaskRunnerService = class AsyncTaskRunnerService extends BaseService_1.
84
84
  }
85
85
  },
86
86
  data: {
87
- task_status: AsyncTaskModel_1.TaskStatus.RUNNING
87
+ task_status: AsyncTaskModel_1.SysAsyncTaskStatus.RUNNING
88
88
  }
89
89
  }, {
90
90
  sqlTable: SystemTables_1.SystemTables.sys_async_tasks,
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "midway-fatcms",
3
- "version": "0.0.1-beta.13",
3
+ "version": "0.0.1-beta.14",
4
4
  "description": "This is a midway component sample",
5
5
  "main": "dist/index.js",
6
6
  "typings": "index.d.ts",
@@ -3,7 +3,7 @@ import { Controller, Inject, Get, Post, Query } from '@midwayjs/core';
3
3
  import { Context } from '@midwayjs/koa';
4
4
  import { BaseApiController } from '../base/BaseApiController';
5
5
  import {AsyncTaskService} from "@/service/asyncTask/AsyncTaskService";
6
- import {SysAsyncTaskEntity, TaskStatus} from "@/models/AsyncTaskModel";
6
+ import {SysAsyncTaskEntity, SysAsyncTaskStatus} from "@/models/AsyncTaskModel";
7
7
  import {KeysOfSimpleSQL} from "@/libs/crud-pro/models/keys";
8
8
  import {SystemTables} from "@/models/SystemTables";
9
9
  import {CommonException} from "@/libs/crud-pro/exceptions";
@@ -21,7 +21,7 @@ function fixCancelBodyData(body:any, id: number) {
21
21
 
22
22
  // fix data
23
23
  const dataObj: SysAsyncTaskEntity = (body.data || {}) as any;
24
- dataObj.task_status = TaskStatus.CANCELLED;
24
+ dataObj.task_status = SysAsyncTaskStatus.CANCELLED;
25
25
  body.data = dataObj;
26
26
  }
27
27
 
@@ -33,7 +33,7 @@ function fixCreateBodyData(body:any) {
33
33
 
34
34
  // fix data
35
35
  const dataObj: SysAsyncTaskEntity = (body.data || {}) as any;
36
- dataObj.task_status = TaskStatus.PENDING;
36
+ dataObj.task_status = SysAsyncTaskStatus.PENDING;
37
37
  }
38
38
 
39
39
 
package/src/index.ts CHANGED
@@ -8,6 +8,7 @@ export * from './controller/gateway/FileController';
8
8
  export * from './controller/gateway/ProxyApiGatewayController';
9
9
  export * from './controller/gateway/PublicApiController';
10
10
  export * from './controller/gateway/StaticController';
11
+ export * from './controller/gateway/AsyncTaskController';
11
12
  export * from './controller/helpers.controller';
12
13
  export * from './controller/home.controller';
13
14
  export * from './controller/manage/AnyApiMangeApi';
@@ -65,6 +66,8 @@ export * from './service/curd/CurdMixService';
65
66
  export * from './service/curd/CurdProService';
66
67
  export * from './service/proxyapi/ProxyApiLoadService';
67
68
  export * from './service/proxyapi/ProxyApiService';
69
+ export * from './service/asyncTask/AsyncTaskService';
70
+ export * from './service/asyncTask/AsyncTaskRunnerService';
68
71
  export * from './models/userSession';
69
72
  export * from './models/bizmodels';
70
73
  export * from './models/SystemEntities';
@@ -72,6 +75,7 @@ export * from './models/SystemPerm';
72
75
  export * from './models/contextLogger';
73
76
  export * from './models/devops';
74
77
  export * from './models/SystemTables';
78
+ export * from './models/AsyncTaskModel';
75
79
 
76
80
 
77
81
  export * from './libs/utils/common-dto';
@@ -4,16 +4,16 @@ export interface SysAsyncTaskEntity {
4
4
  task_name: string;
5
5
  task_description: string | null;
6
6
  task_type: string;
7
- task_status: TaskStatus;
7
+ task_status: SysAsyncTaskStatus;
8
8
  input_params: any;
9
9
  output_result: any | null;
10
10
 
11
11
  input_file_path: string | null;
12
- input_file_format: FileFormat | null;
12
+ input_file_format: SysAsyncFileFormat | null;
13
13
  input_file_size: number | null;
14
14
 
15
15
  output_file_path: string | null;
16
- output_file_format: FileFormat | null;
16
+ output_file_format: SysAsyncFileFormat | null;
17
17
  output_file_size: number | null;
18
18
 
19
19
  input_total_records: number | null;
@@ -34,7 +34,7 @@ export interface SysAsyncTaskEntity {
34
34
  expired_at: Date | null;
35
35
  }
36
36
 
37
- export enum TaskStatus {
37
+ export enum SysAsyncTaskStatus {
38
38
  PENDING = 'PENDING', // 等待中,还未进入排队
39
39
  RUNNING = 'RUNNING', // 运行中
40
40
  SUCCEEDED = 'SUCCEEDED',
@@ -43,7 +43,7 @@ export enum TaskStatus {
43
43
  PAUSED = 'PAUSED', // 暂停
44
44
  }
45
45
 
46
- export enum FileFormat {
46
+ export enum SysAsyncFileFormat {
47
47
  XLSX = 'xlsx',
48
48
  CSV = 'csv',
49
49
  JSON = 'json',
@@ -57,17 +57,17 @@ export enum FileFormat {
57
57
  }
58
58
 
59
59
 
60
- export interface ITaskHandler {
61
- execute(ctx: TaskContext): Promise<void>;
60
+ export interface ISysAsyncTaskHandler {
61
+ execute(ctx: SysAsyncTaskContext): Promise<void>;
62
62
  }
63
63
 
64
- export interface TaskContext {
64
+ export interface SysAsyncTaskContext {
65
65
  task: SysAsyncTaskEntity;
66
66
  }
67
67
 
68
- export interface TaskHandlerConfig {
68
+ export interface SysAsyncTaskHandlerConfig {
69
69
  taskType: string;
70
- handler: ITaskHandler;
70
+ handler: ISysAsyncTaskHandler;
71
71
  maxRetries?: number;
72
72
  priority?: number;
73
73
  expireSeconds?: number;
@@ -3,7 +3,7 @@ import {Context} from '@midwayjs/koa';
3
3
  import {BaseService} from "@/service/base/BaseService";
4
4
  import {IScheduleService} from "@/interface";
5
5
  import {CurdProService} from "@/service/curd/CurdProService";
6
- import {ITaskHandler, SysAsyncTaskEntity, TaskStatus} from "@/models/AsyncTaskModel";
6
+ import {ISysAsyncTaskHandler, SysAsyncTaskEntity, SysAsyncTaskStatus} from "@/models/AsyncTaskModel";
7
7
  import {GLOBAL_STATIC_CONFIG} from "@/libs/global-config/global-config";
8
8
  import {SystemTables} from "@/models/SystemTables";
9
9
  import {KeysOfSimpleSQL} from "@/libs/crud-pro/models/keys";
@@ -12,7 +12,7 @@ import {errorToString} from "@/libs/utils/errorToString";
12
12
 
13
13
  class AsyncTaskRunner {
14
14
  isBusy: boolean = false;
15
- taskHandlerMap: Map<string, ITaskHandler> = new Map();
15
+ taskHandlerMap: Map<string, ISysAsyncTaskHandler> = new Map();
16
16
 
17
17
  async executeTaskList(taskList: SysAsyncTaskEntity[]) {
18
18
  if (!taskList || taskList.length === 0) {
@@ -24,9 +24,9 @@ class AsyncTaskRunner {
24
24
  const taskElement = taskList[i];
25
25
  try {
26
26
  await this.executeTask(taskElement);
27
- taskElement.task_status = TaskStatus.SUCCEEDED;
27
+ taskElement.task_status = SysAsyncTaskStatus.SUCCEEDED;
28
28
  } catch (error) {
29
- taskElement.task_status = TaskStatus.FAILED;
29
+ taskElement.task_status = SysAsyncTaskStatus.FAILED;
30
30
  taskElement.error_message = errorToString(error)
31
31
  }
32
32
  }
@@ -73,7 +73,7 @@ export class AsyncTaskRunnerService extends BaseService implements IScheduleServ
73
73
 
74
74
  const queryRes = await this.curdProService.executeCrudByCfg({
75
75
  condition: {
76
- task_status: TaskStatus.PENDING
76
+ task_status: SysAsyncTaskStatus.PENDING
77
77
  },
78
78
  limit: 10
79
79
  },{
@@ -98,7 +98,7 @@ export class AsyncTaskRunnerService extends BaseService implements IScheduleServ
98
98
  }
99
99
  },
100
100
  data: {
101
- task_status: TaskStatus.RUNNING
101
+ task_status: SysAsyncTaskStatus.RUNNING
102
102
  }
103
103
  },{
104
104
  sqlTable: SystemTables.sys_async_tasks,