exodus-framework 2.1.1031 → 2.1.1033
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/lib/app/classes/broadcast.d.ts +6 -0
- package/lib/app/classes/broadcast.d.ts.map +1 -1
- package/lib/app/classes/broadcast.js +1 -3
- package/lib/app/classes/communication.d.ts +17 -0
- package/lib/app/classes/communication.d.ts.map +1 -1
- package/lib/app/classes/communication.js +0 -8
- package/lib/app/classes/event.d.ts +6 -0
- package/lib/app/classes/event.d.ts.map +1 -1
- package/lib/app/classes/managed.d.ts +7 -0
- package/lib/app/classes/managed.d.ts.map +1 -1
- package/lib/app/classes/managed.js +0 -20
- package/lib/app/classes/service.d.ts +126 -0
- package/lib/app/classes/service.d.ts.map +1 -1
- package/lib/app/classes/service.js +4 -9
- package/lib/app/classes/servicemodel.d.ts +7 -0
- package/lib/app/classes/servicemodel.d.ts.map +1 -1
- package/lib/app/classes/singleton.d.ts +9 -0
- package/lib/app/classes/singleton.d.ts.map +1 -1
- package/lib/app/classes/singleton.js +0 -1
- package/lib/app/classes/socket/clienthandler.js +0 -6
- package/lib/app/classes/socket/eventhandler.js +0 -6
- package/lib/app/classes/socket/ssehandler.d.ts +1 -1
- package/lib/app/classes/socket/ssehandler.d.ts.map +1 -1
- package/lib/app/classes/socket/ssehandler.js +19 -22
- package/lib/app/classes/system.d.ts +6 -0
- package/lib/app/classes/system.d.ts.map +1 -1
- package/lib/app/controller.d.ts +25 -0
- package/lib/app/controller.d.ts.map +1 -1
- package/lib/app/core.d.ts +9 -0
- package/lib/app/core.d.ts.map +1 -1
- package/lib/app/core.js +0 -6
- package/lib/app/error.js +0 -1
- package/lib/app/exodus.d.ts +7 -0
- package/lib/app/exodus.d.ts.map +1 -1
- package/lib/app/exodus.js +1 -30
- package/lib/app/settings.js +3 -14
- package/lib/contracts/communication/communication.js +4 -4
- package/lib/contracts/contansts.js +2 -2
- package/lib/contracts/core.js +1 -1
- package/lib/contracts/entity.js +2 -4
- package/lib/contracts/http.d.ts +17 -1
- package/lib/contracts/http.d.ts.map +1 -1
- package/lib/contracts/http.js +2 -2
- package/lib/contracts/messaging.d.ts +1 -1
- package/lib/contracts/messaging.d.ts.map +1 -1
- package/lib/contracts/messaging.js +2 -2
- package/lib/contracts/service.js +1 -1
- package/lib/contracts/socket.js +2 -2
- package/lib/controllers/api/file.js +0 -4
- package/lib/controllers/api/log.js +0 -1
- package/lib/controllers/api/report.js +0 -1
- package/lib/controllers/messaging/application.js +0 -10
- package/lib/controllers/messaging/environment.js +0 -11
- package/lib/middlewares/access.d.ts +6 -0
- package/lib/middlewares/access.d.ts.map +1 -1
- package/lib/middlewares/access.js +0 -5
- package/lib/middlewares/authentication.d.ts +7 -0
- package/lib/middlewares/authentication.d.ts.map +1 -1
- package/lib/middlewares/authentication.js +2 -5
- package/lib/middlewares/file.js +0 -1
- package/lib/routes/api/v1/logs.js +0 -7
- package/lib/routes/api/v1/report.js +0 -7
- package/lib/routes/api/v1/sse.js +2 -11
- package/lib/routes/messaging/index.js +0 -6
- package/lib/services/database.d.ts +17 -0
- package/lib/services/database.d.ts.map +1 -1
- package/lib/services/database.js +5 -19
- package/lib/services/express.js +1 -7
- package/lib/services/file/FileLibrary.d.ts +8 -0
- package/lib/services/file/FileLibrary.d.ts.map +1 -1
- package/lib/services/file/FileLibrary.js +0 -2
- package/lib/services/file/classes/Mimetyp.d.ts +12 -0
- package/lib/services/file/classes/Mimetyp.d.ts.map +1 -1
- package/lib/services/file/classes/Mimetyp.js +0 -41
- package/lib/services/file/constants/mimes.js +0 -1
- package/lib/services/logger.js +0 -5
- package/lib/services/rabitmq.d.ts +26 -0
- package/lib/services/rabitmq.d.ts.map +1 -1
- package/lib/services/rabitmq.js +7 -13
- package/lib/services/redis.d.ts +7 -0
- package/lib/services/redis.d.ts.map +1 -1
- package/lib/services/redis.js +2 -5
- package/lib/services/security.d.ts +52 -0
- package/lib/services/security.d.ts.map +1 -1
- package/lib/services/security.js +0 -3
- package/lib/services/sequelize.d.ts +8 -0
- package/lib/services/sequelize.d.ts.map +1 -1
- package/lib/services/sequelize.js +3 -16
- package/lib/services/socket.d.ts +7 -0
- package/lib/services/socket.d.ts.map +1 -1
- package/lib/services/socket.js +1 -4
- package/lib/services/task/queue/QueueService.js +0 -1
- package/lib/services/task/queue/QueueTask.js +0 -16
- package/lib/services/task/scheduler/SchedulerTask.d.ts +16 -0
- package/lib/services/task/scheduler/SchedulerTask.d.ts.map +1 -1
- package/lib/services/task/scheduler/SchedulerTask.js +0 -9
- package/lib/services/test.js +0 -2
- package/lib/tasks/queue/teste.js +0 -20
- package/lib/tasks/schedule/teste.js +0 -16
- package/lib/utils/api.d.ts +157 -0
- package/lib/utils/api.d.ts.map +1 -1
- package/lib/utils/api.js +0 -10
- package/lib/utils/database.js +0 -18
- package/lib/utils/logger-transport.js +0 -7
- package/lib/utils/phone.d.ts +171 -0
- package/lib/utils/phone.d.ts.map +1 -1
- package/lib/utils/phone.js +0 -27
- package/package.json +1 -1
package/lib/services/rabitmq.js
CHANGED
@@ -26,14 +26,11 @@ class RabbitMQService extends _service.default {
|
|
26
26
|
attempts;
|
27
27
|
exchangeName;
|
28
28
|
queueName;
|
29
|
-
isReconnecting = false;
|
30
|
-
isConnected = false;
|
31
|
-
|
29
|
+
isReconnecting = false;
|
30
|
+
isConnected = false;
|
32
31
|
async onServiceClusterInit() {
|
33
32
|
await super.onServiceClusterInit();
|
34
|
-
if (!this.mainRouter) throw new Error('Need router');
|
35
|
-
|
36
|
-
//Start params
|
33
|
+
if (!this.mainRouter) throw new Error('Need router');
|
37
34
|
this.startAttemptDelay = 5 * 1000;
|
38
35
|
this.maxStartAttempts = 3;
|
39
36
|
this.attempts = new Map();
|
@@ -43,7 +40,7 @@ class RabbitMQService extends _service.default {
|
|
43
40
|
this.mainRouter = {
|
44
41
|
..._messaging.default,
|
45
42
|
...this.mainRouter
|
46
|
-
};
|
43
|
+
};
|
47
44
|
}
|
48
45
|
async onStartCluster() {
|
49
46
|
await super.onStartCluster();
|
@@ -102,8 +99,6 @@ class RabbitMQService extends _service.default {
|
|
102
99
|
this.isConnected = false;
|
103
100
|
});
|
104
101
|
}
|
105
|
-
|
106
|
-
//# Common
|
107
102
|
/**
|
108
103
|
* Envia uma mensagem para a fila especificada
|
109
104
|
* @template K
|
@@ -159,8 +154,7 @@ class RabbitMQService extends _service.default {
|
|
159
154
|
const content = JSON.parse(msg.content.toString());
|
160
155
|
const callBack = this.mainRouter[topic];
|
161
156
|
if (callBack) await callBack(content.data, () => {}, content.serviceId, content.transactionId);
|
162
|
-
this.channel.ack(msg);
|
163
|
-
|
157
|
+
this.channel.ack(msg);
|
164
158
|
if (this.eventCustomListeners.has(topic)) {
|
165
159
|
const cb = this.eventCustomListeners.get(topic);
|
166
160
|
cb(content.data, () => {}, content.serviceId, content.transactionId);
|
@@ -180,7 +174,7 @@ class RabbitMQService extends _service.default {
|
|
180
174
|
}
|
181
175
|
this.attempts.set(msg.properties.messageId, attempts + 1);
|
182
176
|
setTimeout(() => {
|
183
|
-
this.channel.nack(msg, false, true);
|
177
|
+
this.channel.nack(msg, false, true);
|
184
178
|
this.log(`Message requeue: ${msg.fields.routingKey}`, 'info');
|
185
179
|
}, 3000);
|
186
180
|
}
|
@@ -205,7 +199,7 @@ class RabbitMQService extends _service.default {
|
|
205
199
|
const listen = data.listen;
|
206
200
|
const sendtransactionId = (0, _crypto.randomUUID)();
|
207
201
|
this.onTransaction(listen.topic, (data, ack, serviceId, transactionId) => {
|
208
|
-
ack();
|
202
|
+
ack();
|
209
203
|
if (sendtransactionId != transactionId) {
|
210
204
|
return;
|
211
205
|
}
|
package/lib/services/redis.d.ts
CHANGED
@@ -1,5 +1,12 @@
|
|
1
1
|
import Service from '../app/classes/service';
|
2
2
|
import { RedisCache } from '../app/classes/cache';
|
3
|
+
/**
|
4
|
+
* Serviço de cache
|
5
|
+
*
|
6
|
+
* @class RedisService
|
7
|
+
* @extends {Service}
|
8
|
+
* @implements {IService}
|
9
|
+
*/
|
3
10
|
declare class RedisService extends Service {
|
4
11
|
private client;
|
5
12
|
private isReconnecting;
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"redis.d.ts","sourceRoot":"","sources":["../../src/services/redis.ts"],"names":[],"mappings":"AAEA,OAAO,OAAO,MAAM,wBAAwB,CAAC;AAC7C,OAAO,EAAE,UAAU,EAAE,MAAM,sBAAsB,CAAC;
|
1
|
+
{"version":3,"file":"redis.d.ts","sourceRoot":"","sources":["../../src/services/redis.ts"],"names":[],"mappings":"AAEA,OAAO,OAAO,MAAM,wBAAwB,CAAC;AAC7C,OAAO,EAAE,UAAU,EAAE,MAAM,sBAAsB,CAAC;AAGlD;;;;;;GAMG;AACH,cAAM,YAAa,SAAQ,OAAO;IAChC,OAAO,CAAC,MAAM,CAAkB;IAChC,OAAO,CAAC,cAAc,CAAS;IAC/B,OAAO,CAAC,WAAW,CAAS;IAEf,aAAa;IAOb,OAAO;IAMP,WAAW;YAMV,OAAO;IA2BrB,OAAO,CAAC,iBAAiB;IAQnB,QAAQ,CAAC,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAGnD,QAAQ,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC;IAI7C,WAAW,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAGtC,WAAW,CAAC,CAAC,EAAE,GAAG,EAAE,MAAM;CAGlC;AAED,eAAe,YAAY,CAAC"}
|
package/lib/services/redis.js
CHANGED
@@ -19,9 +19,8 @@ function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e
|
|
19
19
|
*/
|
20
20
|
class RedisService extends _service.default {
|
21
21
|
client;
|
22
|
-
isReconnecting = false;
|
23
|
-
isConnected = false;
|
24
|
-
|
22
|
+
isReconnecting = false;
|
23
|
+
isConnected = false;
|
25
24
|
async onServiceInit() {
|
26
25
|
await super.onServiceInit();
|
27
26
|
this.startAttemptDelay = 5 * 1000;
|
@@ -65,8 +64,6 @@ class RedisService extends _service.default {
|
|
65
64
|
this.isConnected = false;
|
66
65
|
});
|
67
66
|
}
|
68
|
-
|
69
|
-
//* Common
|
70
67
|
async setValue(key, value) {
|
71
68
|
await this.client.set(key, value);
|
72
69
|
}
|
@@ -15,14 +15,66 @@ declare class SecurityService extends Service {
|
|
15
15
|
}>;
|
16
16
|
loadServicePublicKey(): Promise<void>;
|
17
17
|
loadKeyByStr(data: string): Promise<JWK.Key>;
|
18
|
+
/**
|
19
|
+
* Chave privada emitida por este serviço
|
20
|
+
*
|
21
|
+
* @memberof SecurityService
|
22
|
+
*/
|
18
23
|
getPrivateKey(): JWK.Key;
|
24
|
+
/**
|
25
|
+
* Chave publica emitida por este serviço
|
26
|
+
*
|
27
|
+
* @memberof SecurityService
|
28
|
+
*/
|
19
29
|
getPublicKey(): JWK.Key;
|
30
|
+
/**
|
31
|
+
* Chave publica emitida pelo serviço do hub se sessões
|
32
|
+
*
|
33
|
+
* @memberof SecurityService
|
34
|
+
*/
|
20
35
|
getServicePublicKey(): JWK.Key;
|
36
|
+
/**
|
37
|
+
* Criptografía utilizando chave publica
|
38
|
+
*
|
39
|
+
* @param {TSignData} data
|
40
|
+
* @memberof SecurityService
|
41
|
+
*/
|
21
42
|
encrypt(data: TSignData, publicKey: JWK.Key): Promise<string | false>;
|
43
|
+
/**
|
44
|
+
* Descriptografia utilizando chave privada
|
45
|
+
*
|
46
|
+
* @param {string} encryptedData
|
47
|
+
* @memberof SecurityService
|
48
|
+
*/
|
22
49
|
decrypt<T = any>(encryptedData: string, privateKey: JWK.Key): Promise<T | false>;
|
50
|
+
/**
|
51
|
+
* Realiza uma assinatura usando chave privada
|
52
|
+
*
|
53
|
+
* @param {TSignData} data
|
54
|
+
* @memberof SecurityService
|
55
|
+
*/
|
23
56
|
sign(data: TSignData, privateKey: JWK.Key): Promise<string>;
|
57
|
+
/**
|
58
|
+
* Verifica assinatura utilizando chave publica
|
59
|
+
*
|
60
|
+
* @param {string} signature
|
61
|
+
* @memberof SecurityService
|
62
|
+
*/
|
24
63
|
verifySignature<T = any>(signature: string, publicKey: JWK.Key): Promise<(TSignData<T> & Record<string, any>) | false>;
|
64
|
+
/**
|
65
|
+
* Criptografía de dados utilizando um buffer automático ao invés de chaves
|
66
|
+
*
|
67
|
+
* @param {(string | object)} data
|
68
|
+
* @memberof SecurityService
|
69
|
+
*/
|
25
70
|
simpleEncrypt(data: string | object): [string, Buffer];
|
71
|
+
/**
|
72
|
+
* Utiliza um buffer para descriptografar dados criptografados através de simpleEncrypt()
|
73
|
+
*
|
74
|
+
* @param {string} data
|
75
|
+
* @param {Buffer} key
|
76
|
+
* @memberof SecurityService
|
77
|
+
*/
|
26
78
|
simpleDecrypt(data: string, key: Buffer): Buffer | false;
|
27
79
|
}
|
28
80
|
export default SecurityService;
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"security.d.ts","sourceRoot":"","sources":["../../src/services/security.ts"],"names":[],"mappings":"AAEA,OAAO,EAAO,GAAG,EAAO,MAAM,WAAW,CAAC;AAE1C,OAAO,EAAQ,OAAO,EAAgB,MAAM,QAAQ,CAAC;AACrD,OAAO,EAAE,SAAS,EAAE,MAAM,uBAAuB,CAAC;AAElD,cAAM,eAAgB,SAAQ,OAAO;IACnC,OAAO,CAAC,UAAU,CAAU;IAC5B,OAAO,CAAC,SAAS,CAAU;IAC3B,OAAO,CAAC,gBAAgB,CAAU;IAErB,OAAO;IAWpB,OAAO,CAAC,UAAU;YAMJ,cAAc;YAad,aAAa;IAMd,cAAc;;;;IASd,oBAAoB;IAUpB,YAAY,CAAC,IAAI,EAAE,MAAM;
|
1
|
+
{"version":3,"file":"security.d.ts","sourceRoot":"","sources":["../../src/services/security.ts"],"names":[],"mappings":"AAEA,OAAO,EAAO,GAAG,EAAO,MAAM,WAAW,CAAC;AAE1C,OAAO,EAAQ,OAAO,EAAgB,MAAM,QAAQ,CAAC;AACrD,OAAO,EAAE,SAAS,EAAE,MAAM,uBAAuB,CAAC;AAElD,cAAM,eAAgB,SAAQ,OAAO;IACnC,OAAO,CAAC,UAAU,CAAU;IAC5B,OAAO,CAAC,SAAS,CAAU;IAC3B,OAAO,CAAC,gBAAgB,CAAU;IAErB,OAAO;IAWpB,OAAO,CAAC,UAAU;YAMJ,cAAc;YAad,aAAa;IAMd,cAAc;;;;IASd,oBAAoB;IAUpB,YAAY,CAAC,IAAI,EAAE,MAAM;IAItC;;;;OAIG;IACI,aAAa;IAGpB;;;;OAIG;IACI,YAAY;IAGnB;;;;OAIG;IACI,mBAAmB;IAG1B;;;;;OAKG;IACU,OAAO,CAAC,IAAI,EAAE,SAAS,EAAE,SAAS,EAAE,GAAG,CAAC,GAAG;IAmBxD;;;;;OAKG;IACU,OAAO,CAAC,CAAC,GAAG,GAAG,EAAE,aAAa,EAAE,MAAM,EAAE,UAAU,EAAE,GAAG,CAAC,GAAG,GAAG,OAAO,CAAC,CAAC,GAAG,KAAK,CAAC;IAY7F;;;;;OAKG;IACU,IAAI,CAAC,IAAI,EAAE,SAAS,EAAE,UAAU,EAAE,GAAG,CAAC,GAAG;IAmBtD;;;;;OAKG;IACU,eAAe,CAAC,CAAC,GAAG,GAAG,EAClC,SAAS,EAAE,MAAM,EACjB,SAAS,EAAE,GAAG,CAAC,GAAG,GACjB,OAAO,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,GAAG,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC,GAAG,KAAK,CAAC;IAWxD;;;;;OAKG;IACI,aAAa,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC;IAa7D;;;;;;OAMG;IACI,aAAa,CAAC,IAAI,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,GAAG,MAAM,GAAG,KAAK;CAgBhE;AAED,eAAe,eAAe,CAAC"}
|
package/lib/services/security.js
CHANGED
@@ -28,8 +28,6 @@ class SecurityService extends _app.Service {
|
|
28
28
|
recursive: true
|
29
29
|
});
|
30
30
|
}
|
31
|
-
|
32
|
-
/* Key Pair */
|
33
31
|
async loadPrivateKey() {
|
34
32
|
const privateKeyPath = _path.default.join(_app.Core.settings.getAuthentication().certPath, 'private_key.pem');
|
35
33
|
if (fs.existsSync(privateKeyPath)) {
|
@@ -135,7 +133,6 @@ class SecurityService extends _app.Service {
|
|
135
133
|
const decrypted = await _nodeJose.JWE.createDecrypt(privateKey).decrypt(encryptedData);
|
136
134
|
const result = decrypted.plaintext.toString();
|
137
135
|
const parserd = JSON.parse(result);
|
138
|
-
// Tenta parsear como JSON se for objeto
|
139
136
|
return parserd.payload;
|
140
137
|
} catch (error) {
|
141
138
|
new _app.ErrorHandler('Não foi possível descriptografar os dados', error);
|
@@ -3,6 +3,14 @@ import { ServiceModel } from '../app';
|
|
3
3
|
import Service from '../app/classes/service';
|
4
4
|
import { EnvDBHost } from '../models';
|
5
5
|
import { StaticServiceModel } from '../contracts';
|
6
|
+
/**
|
7
|
+
* Serviço de gerênciamento do banco de dados
|
8
|
+
*
|
9
|
+
* @class SequelizeService
|
10
|
+
* @extends {Service}
|
11
|
+
* @deprecated Use {@link DatabaseService}
|
12
|
+
* @implements {IService}
|
13
|
+
*/
|
6
14
|
declare class SequelizeService extends Service {
|
7
15
|
serviceDB: Sequelize;
|
8
16
|
models: StaticServiceModel<any>[];
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"sequelize.d.ts","sourceRoot":"","sources":["../../src/services/sequelize.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,WAAW,EAAE,SAAS,EAAE,MAAM,WAAW,CAAC;AACnE,OAAO,EAAsB,YAAY,EAAE,MAAM,QAAQ,CAAC;AAC1D,OAAO,OAAO,MAAM,wBAAwB,CAAC;AAC7C,OAAO,EAAE,SAAS,EAAgB,MAAM,WAAW,CAAC;AAIpD,OAAO,EAAE,kBAAkB,EAAE,MAAM,cAAc,CAAC;
|
1
|
+
{"version":3,"file":"sequelize.d.ts","sourceRoot":"","sources":["../../src/services/sequelize.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,WAAW,EAAE,SAAS,EAAE,MAAM,WAAW,CAAC;AACnE,OAAO,EAAsB,YAAY,EAAE,MAAM,QAAQ,CAAC;AAC1D,OAAO,OAAO,MAAM,wBAAwB,CAAC;AAC7C,OAAO,EAAE,SAAS,EAAgB,MAAM,WAAW,CAAC;AAIpD,OAAO,EAAE,kBAAkB,EAAE,MAAM,cAAc,CAAC;AAKlD;;;;;;;GAOG;AACH,cAAM,gBAAiB,SAAQ,OAAO;IAC7B,SAAS,EAAE,SAAS,CAAC;IACrB,MAAM,EAAE,kBAAkB,CAAC,GAAG,CAAC,EAAE,CAAC;IAClC,WAAW,EAAE,GAAG,CAAC,MAAM,EAAE,SAAS,CAAC,CAAC;IACpC,iBAAiB,EAAE,GAAG,CAAC,MAAM,EAAE,WAAW,CAAC,GAAG,CAAC,CAAC,CAAC;IACjD,mBAAmB,EAAE,GAAG,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAC1C,SAAS,EAAE,GAAG,CAAC,MAAM,EAAE,SAAS,CAAC,CAAC;IACzC,OAAO,CAAC,cAAc,CAAS;IAC/B,OAAO,CAAC,iBAAiB,CAAS;IAClC,OAAO,CAAC,kBAAkB,CAAS;IAGtB,aAAa;IAiBb,OAAO;IAaP,WAAW;IAMX,gBAAgB;IAyBhB,KAAK,CAAC,QAAQ,EAAE,MAAM;IAa7B,QAAQ,CAAC,QAAQ,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM;IA8BhC,KAAK,CAAC,QAAQ,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM;IAsBpC,QAAQ,CAAC,QAAQ,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM;IAiBvC,MAAM,CAAC,QAAQ,EAAE,MAAM;IA2BvB,sBAAsB,CAAC,QAAQ,EAAE,MAAM,EAAE,UAAU,EAAE,SAAS;IAkBpE,SAAS,CAAC,QAAQ,EAAE,MAAM;IAK1B,SAAS,CAAC,EAAE,EAAE,SAAS,EAAE,QAAQ,SAAI;IAkB/B,gBAAgB,CAAC,QAAQ,EAAE,MAAM,EAAE,QAAQ,CAAC,EAAE,MAAM;IA2CpD,cAAc,CAAC,IAAI,EAAE;QAChC,IAAI,EAAE,MAAM,CAAC;QACb,IAAI,EAAE,MAAM,CAAC;QACb,QAAQ,EAAE,MAAM,CAAC;QACjB,QAAQ,EAAE,MAAM,CAAC;QACjB,OAAO,EAAE,OAAO,CAAC;KAClB;IA4BY,WAAW,CAAC,QAAQ,EAAE,MAAM;IAe5B,QAAQ,CAAC,CAAC,SAAS,YAAY,CAAC,KAAK,CAAC,EACjD,KAAK,EAAE,kBAAkB,CAAC,CAAC,CAAC,EAC5B,QAAQ,EAAE,MAAM,GACf,OAAO,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC;WAWZ,cAAc,CAAC,MAAM,EAAE,kBAAkB,CAAC,GAAG,CAAC,EAAE;IAGjD,UAAU;CAOxB;AAED,eAAe,gBAAgB,CAAC"}
|
@@ -30,11 +30,9 @@ class SequelizeService extends _service.default {
|
|
30
30
|
initializedModels;
|
31
31
|
initializingdModels;
|
32
32
|
relations;
|
33
|
-
isReconnecting = false;
|
34
|
-
isMasterConnected = false;
|
35
|
-
isServiceConnected = false;
|
36
|
-
|
37
|
-
//# Initialization
|
33
|
+
isReconnecting = false;
|
34
|
+
isMasterConnected = false;
|
35
|
+
isServiceConnected = false;
|
38
36
|
async onServiceInit() {
|
39
37
|
await super.onServiceInit();
|
40
38
|
if (!this.models) throw new Error('Models are requireds! Call registerModels(modelsArray)');
|
@@ -81,10 +79,7 @@ class SequelizeService extends _service.default {
|
|
81
79
|
return false;
|
82
80
|
}
|
83
81
|
}
|
84
|
-
|
85
|
-
// #Database
|
86
82
|
async getDB(tenantId) {
|
87
|
-
/* master or service */
|
88
83
|
if (tenantId == _app.Core.settings.getDatabase().main.database) {
|
89
84
|
return _database.mainDb;
|
90
85
|
}
|
@@ -105,7 +100,6 @@ class SequelizeService extends _service.default {
|
|
105
100
|
try {
|
106
101
|
const [results] = await connection.query(`SHOW DATABASES LIKE '${dbQueryName}';`);
|
107
102
|
if (results.length === 0) {
|
108
|
-
// Se o banco de dados não existir, cria-o
|
109
103
|
await connection.query(`CREATE DATABASE ${dbQueryName};`);
|
110
104
|
this.log(`Database "${dbQueryName}" has been created.`);
|
111
105
|
return true;
|
@@ -194,8 +188,6 @@ class SequelizeService extends _service.default {
|
|
194
188
|
getDBName(envToken) {
|
195
189
|
return `${_app.Core.settings.getDatabase().main.database}_${envToken}`;
|
196
190
|
}
|
197
|
-
|
198
|
-
//#Connection
|
199
191
|
reconnect(db, attempts = 2) {
|
200
192
|
db.sync().then(() => {
|
201
193
|
this.log('Database pronto', 'success');
|
@@ -266,11 +258,8 @@ class SequelizeService extends _service.default {
|
|
266
258
|
});
|
267
259
|
});
|
268
260
|
}
|
269
|
-
|
270
|
-
//# Common
|
271
261
|
async getRelation(tenantId) {
|
272
262
|
let relation;
|
273
|
-
/* fetch relation */
|
274
263
|
if (this.relations.get(tenantId)) {
|
275
264
|
relation = this.relations.get(tenantId);
|
276
265
|
} else {
|
@@ -285,8 +274,6 @@ class SequelizeService extends _service.default {
|
|
285
274
|
}
|
286
275
|
return relation;
|
287
276
|
}
|
288
|
-
|
289
|
-
// #Entity
|
290
277
|
async getModel(model, tenantId) {
|
291
278
|
try {
|
292
279
|
const modelKey = `${tenantId}#${model.name}`;
|
package/lib/services/socket.d.ts
CHANGED
@@ -4,6 +4,13 @@ import { Server } from 'socket.io';
|
|
4
4
|
import Service from '../app/classes/service';
|
5
5
|
import SocketEventHandler from '../app/classes/socket/eventhandler';
|
6
6
|
import SocketClientHandler from '../app/classes/socket/clienthandler';
|
7
|
+
/**
|
8
|
+
* Serviço de gerênciamento de comunicação WS/WSS Socket
|
9
|
+
*
|
10
|
+
* @class SocketIOService
|
11
|
+
* @extends {Service}
|
12
|
+
* @implements {IService}
|
13
|
+
*/
|
7
14
|
declare class SocketIOService extends Service {
|
8
15
|
server: Server;
|
9
16
|
private mainRouter;
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"socket.d.ts","sourceRoot":"","sources":["../../src/services/socket.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,mBAAmB,EAAE,MAAM,MAAM,CAAC;AACxD,OAAO,EAAE,MAAM,IAAI,UAAU,EAAE,MAAM,MAAM,CAAC;AAC5C,OAAO,EAAE,MAAM,EAAE,MAAM,WAAW,CAAC;AACnC,OAAO,OAAO,MAAM,wBAAwB,CAAC;AAC7C,OAAO,kBAAkB,MAAM,oCAAoC,CAAC;AAMpE,OAAO,mBAAmB,MAAM,qCAAqC,CAAC;
|
1
|
+
{"version":3,"file":"socket.d.ts","sourceRoot":"","sources":["../../src/services/socket.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,mBAAmB,EAAE,MAAM,MAAM,CAAC;AACxD,OAAO,EAAE,MAAM,IAAI,UAAU,EAAE,MAAM,MAAM,CAAC;AAC5C,OAAO,EAAE,MAAM,EAAE,MAAM,WAAW,CAAC;AACnC,OAAO,OAAO,MAAM,wBAAwB,CAAC;AAC7C,OAAO,kBAAkB,MAAM,oCAAoC,CAAC;AAMpE,OAAO,mBAAmB,MAAM,qCAAqC,CAAC;AAGtE;;;;;;GAMG;AACH,cAAM,eAAgB,SAAQ,OAAO;IAC5B,MAAM,EAAE,MAAM,CAAC;IACtB,OAAO,CAAC,UAAU,CAAuB;IACzC,OAAO,CAAC,aAAa,CAAoC;IACzD,OAAO,CAAC,cAAc,CAAsC;IAE/C,oBAAoB;IAOpB,sBAAsB;YAcrB,YAAY;IA4C1B,OAAO,CAAC,UAAU;IAgCX,YAAY,CAAC,GAAG,EAAE,UAAU,EAAE,IAAI,GAAE,WAAW,GAAG,mBAAqC;IAM9F,MAAM,CAAC,cAAc,CAAC,MAAM,EAAE,kBAAkB,EAAE;IAIlD,MAAM,CAAC,sBAAsB,CAAC,QAAQ,EAAE,CAAC,OAAO,mBAAmB,CAAC,EAAE;YAIxD,gBAAgB;CAY/B;AAED,eAAe,eAAe,CAAC"}
|
package/lib/services/socket.js
CHANGED
@@ -26,14 +26,11 @@ class SocketIOService extends _service.default {
|
|
26
26
|
clientHandlers = [];
|
27
27
|
async onServiceClusterInit() {
|
28
28
|
await super.onServiceClusterInit();
|
29
|
-
if (!this.mainRouter) throw new Error('Need router');
|
30
|
-
|
29
|
+
if (!this.mainRouter) throw new Error('Need router');
|
31
30
|
this.eventhandlers = new Map();
|
32
31
|
}
|
33
32
|
async onExodusClusterStarted() {
|
34
33
|
await super.onExodusClusterStarted();
|
35
|
-
//! este depende de ExpressService para iniciar, por isso está aqui
|
36
|
-
|
37
34
|
try {
|
38
35
|
this.createSocket(_express.default.getService().getHttpServer());
|
39
36
|
await this.registerHandlers();
|
@@ -9,7 +9,6 @@ var _app = require("../../../app");
|
|
9
9
|
var _core = require("../../../contracts/core");
|
10
10
|
var _TaskServiceBase = _interopRequireDefault(require("../TaskServiceBase"));
|
11
11
|
function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
|
12
|
-
//* Queue
|
13
12
|
class QueueTaskService extends _TaskServiceBase.default {
|
14
13
|
connection;
|
15
14
|
async onStart() {
|
@@ -17,8 +17,6 @@ class QueueTask extends _app.Singleton {
|
|
17
17
|
name;
|
18
18
|
active;
|
19
19
|
concurrency;
|
20
|
-
|
21
|
-
//# Init
|
22
20
|
async taskInit() {
|
23
21
|
this.rECom = new _communication.default(this.constructor.name);
|
24
22
|
this.rECom.on(_service.eEventCommunication.RECEIVED_CLUSTER_MESSAGE, this.onTaskMasterReceived.bind(this));
|
@@ -35,8 +33,6 @@ class QueueTask extends _app.Singleton {
|
|
35
33
|
this.onTaskClusterInit();
|
36
34
|
}
|
37
35
|
}
|
38
|
-
|
39
|
-
//# Getters
|
40
36
|
getQueue() {
|
41
37
|
return this.queue;
|
42
38
|
}
|
@@ -55,16 +51,12 @@ class QueueTask extends _app.Singleton {
|
|
55
51
|
getConcurrency() {
|
56
52
|
return this.concurrency;
|
57
53
|
}
|
58
|
-
|
59
|
-
//# Setters
|
60
54
|
setQueue(queue) {
|
61
55
|
this.queue = queue;
|
62
56
|
}
|
63
57
|
setWorker(worker) {
|
64
58
|
this.worker = worker;
|
65
59
|
}
|
66
|
-
|
67
|
-
//# Basic Handlers
|
68
60
|
execute(job, token) {
|
69
61
|
this.onExecute(job, token);
|
70
62
|
if (this.isCluster()) {
|
@@ -85,13 +77,10 @@ class QueueTask extends _app.Singleton {
|
|
85
77
|
}
|
86
78
|
await this.queue.add(this.getName(), data);
|
87
79
|
this.onNewJob(data);
|
88
|
-
// this.log('Nova tarefa disponível.', 'comment');
|
89
80
|
}
|
90
81
|
static async addJob(data) {
|
91
82
|
this.singleton().addJob(data);
|
92
83
|
}
|
93
|
-
|
94
|
-
//# Events
|
95
84
|
onTaskInit() {
|
96
85
|
return;
|
97
86
|
}
|
@@ -101,14 +90,12 @@ class QueueTask extends _app.Singleton {
|
|
101
90
|
onTaskMasterInit() {
|
102
91
|
return;
|
103
92
|
}
|
104
|
-
//----------------------------------------------------------------------------
|
105
93
|
onTaskMasterReceived(_worker, _eventKey, _data) {
|
106
94
|
return;
|
107
95
|
}
|
108
96
|
onTaskClusterReceived(_eventKey, _data) {
|
109
97
|
return;
|
110
98
|
}
|
111
|
-
//----------------------------------------------------------------------------
|
112
99
|
onClusterExecute(_job, _token) {
|
113
100
|
return;
|
114
101
|
}
|
@@ -118,12 +105,9 @@ class QueueTask extends _app.Singleton {
|
|
118
105
|
onExecute(_job, _token) {
|
119
106
|
return;
|
120
107
|
}
|
121
|
-
//----------------------------------------------------------------------------
|
122
108
|
onNewJob(_data) {
|
123
109
|
return;
|
124
110
|
}
|
125
|
-
|
126
|
-
//# Managed
|
127
111
|
sendTaskToCluster(clusterId, event, data) {
|
128
112
|
this.rECom.sendMessageToCluster(clusterId, event, data);
|
129
113
|
}
|
@@ -17,7 +17,23 @@ declare abstract class ScheduleTask extends Singleton {
|
|
17
17
|
protected name: string;
|
18
18
|
protected side: eExecutionSide;
|
19
19
|
protected job: Job;
|
20
|
+
/**
|
21
|
+
* Deve ser executada imediatamente e depois agendada?
|
22
|
+
*
|
23
|
+
* @protected
|
24
|
+
* @type {boolean}
|
25
|
+
* @memberof ScheduleTask
|
26
|
+
*/
|
20
27
|
protected immediate: boolean;
|
28
|
+
/**
|
29
|
+
* Esta task deve ficar ativa ou parada após a execução?
|
30
|
+
* Tenha em mente que se/também immediate = true, esta task será executada apenas na
|
31
|
+
* inicialização do Exodus
|
32
|
+
*
|
33
|
+
* @protected
|
34
|
+
* @type {boolean}
|
35
|
+
* @memberof ScheduleTask
|
36
|
+
*/
|
21
37
|
protected persistent: boolean;
|
22
38
|
execute(): Promise<void>;
|
23
39
|
taskInit(): Promise<void>;
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"SchedulerTask.d.ts","sourceRoot":"","sources":["../../../../src/services/task/scheduler/SchedulerTask.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,SAAS,CAAC;AACjC,OAAO,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AACzC,OAAO,EAAE,qBAAqB,EAAE,MAAM,8BAA8B,CAAC;AAGrE,OAAO,EAAE,cAAc,EAAE,MAAM,yBAAyB,CAAC;AACzD,OAAO,EAAE,GAAG,EAAE,MAAM,eAAe,CAAC;AAEpC,MAAM,MAAM,aAAa,GAAG;IAC1B,MAAM,EAAE,MAAM,CAAC;IACf,QAAQ,EAAE,GAAG,CAAC;CACf,CAAC;AAEF,uBAAe,YAAa,SAAQ,SAAS;IAC3C,OAAO,CAAC,KAAK,CAA6B;IAC1C,SAAS,CAAC,cAAc,EAAE,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,CAAa;IAC1D,SAAS,CAAC,uBAAuB,EAAE,MAAM,CAAK;IAC9C,SAAS,CAAC,kBAAkB,EAAE,GAAG,CAAC,MAAM,EAAE,OAAO,CAAC,CAAa;IAC/D,SAAS,CAAC,IAAI,EAAE,MAAM,GAAG,qBAAqB,CAAC;IAC/C,SAAS,CAAC,MAAM,EAAE,OAAO,CAAC;IAC1B,SAAS,CAAC,IAAI,EAAE,MAAM,CAAC;IACvB,SAAS,CAAC,IAAI,EAAE,cAAc,CAAC;IAC/B,SAAS,CAAC,GAAG,EAAE,GAAG,CAAC;
|
1
|
+
{"version":3,"file":"SchedulerTask.d.ts","sourceRoot":"","sources":["../../../../src/services/task/scheduler/SchedulerTask.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,SAAS,CAAC;AACjC,OAAO,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AACzC,OAAO,EAAE,qBAAqB,EAAE,MAAM,8BAA8B,CAAC;AAGrE,OAAO,EAAE,cAAc,EAAE,MAAM,yBAAyB,CAAC;AACzD,OAAO,EAAE,GAAG,EAAE,MAAM,eAAe,CAAC;AAEpC,MAAM,MAAM,aAAa,GAAG;IAC1B,MAAM,EAAE,MAAM,CAAC;IACf,QAAQ,EAAE,GAAG,CAAC;CACf,CAAC;AAEF,uBAAe,YAAa,SAAQ,SAAS;IAC3C,OAAO,CAAC,KAAK,CAA6B;IAC1C,SAAS,CAAC,cAAc,EAAE,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,CAAa;IAC1D,SAAS,CAAC,uBAAuB,EAAE,MAAM,CAAK;IAC9C,SAAS,CAAC,kBAAkB,EAAE,GAAG,CAAC,MAAM,EAAE,OAAO,CAAC,CAAa;IAC/D,SAAS,CAAC,IAAI,EAAE,MAAM,GAAG,qBAAqB,CAAC;IAC/C,SAAS,CAAC,MAAM,EAAE,OAAO,CAAC;IAC1B,SAAS,CAAC,IAAI,EAAE,MAAM,CAAC;IACvB,SAAS,CAAC,IAAI,EAAE,cAAc,CAAC;IAC/B,SAAS,CAAC,GAAG,EAAE,GAAG,CAAC;IACnB;;;;;;OAMG;IACH,SAAS,CAAC,SAAS,EAAE,OAAO,CAAC;IAC7B;;;;;;;;OAQG;IACH,SAAS,CAAC,UAAU,EAAE,OAAO,CAAC;IAEjB,OAAO;IAaP,QAAQ;IAsBrB,SAAS,CAAC,iBAAiB,CAAC,SAAS,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,IAAI,EAAE,GAAG;IAGvE,SAAS,CAAC,gBAAgB,CAAC,KAAK,EAAE,MAAM,EAAE,IAAI,EAAE,GAAG;IAK5C,UAAU,IAAI,OAAO,CAAC,IAAI,CAAC,GAAG,IAAI;IAGlC,iBAAiB,IAAI,OAAO,CAAC,IAAI,CAAC,GAAG,IAAI;IAGzC,gBAAgB,IAAI,OAAO,CAAC,IAAI,CAAC,GAAG,IAAI;IAIxC,WAAW,IAAI,qBAAqB,GAAG,MAAM;IAG7C,SAAS,IAAI,OAAO;IAGpB,OAAO,IAAI,MAAM;IAGjB,OAAO,IAAI,cAAc;IAGzB,WAAW,IAAI,OAAO;IAGtB,MAAM,CAAC,GAAG,EAAE,GAAG;IAKf,SAAS,IAAI,OAAO,CAAC,IAAI,CAAC,GAAG,IAAI;IAGjC,gBAAgB,IAAI,OAAO,CAAC,IAAI,CAAC,GAAG,IAAI;IAGxC,eAAe,IAAI,OAAO,CAAC,IAAI,CAAC,GAAG,IAAI;IAIvC,WAAW,CAAC,MAAM,EAAE,MAAM,EAAE,QAAQ,EAAE,GAAG;IAShD,SAAS,CAAC,oBAAoB,CAAC,MAAM,EAAE,MAAM,EAAE,QAAQ,EAAE,GAAG;IAG5D,SAAS,CAAC,mBAAmB,CAAC,QAAQ,EAAE,MAAM,EAAE,IAAI,EAAE,GAAG;IAWzD,SAAS,CAAC,yBAAyB,CAAC,SAAS,EAAE,MAAM,EAAE,KAAK,EAAE,GAAG;IAGjE,SAAS,CAAC,yBAAyB,CAAC,SAAS,EAAE,MAAM,EAAE,KAAK,EAAE,aAAa;IAK3E,SAAS,CAAC,kBAAkB,CAAC,MAAM,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,EAAE,IAAI,EAAE,GAAG;IAkBxE,SAAS,CAAC,oBAAoB,CAAC,MAAM,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,EAAE,IAAI,EAAE,GAAG;IAc1E,SAAS,CAAC,wBAAwB,CAAC,OAAO,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,EAAE,KAAK,EAAE,aAAa;IAG3F,SAAS,CAAC,wBAAwB,CAAC,OAAO,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,EAAE,KAAK,EAAE,aAAa;IAG3F,SAAS,CAAC,qBAAqB,CAAC,MAAM,EAAE,MAAM,EAAE,QAAQ,EAAE,GAAG;IAU7D,SAAS,CAAC,aAAa,CAAC,CAAC,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,IAAI;IAMxD,SAAS,CAAC,qBAAqB,CAAC,OAAO,EAAE,MAAM;IAQ/C,SAAS,CAAC,uBAAuB,CAAC,OAAO,EAAE,MAAM;CAGlD;AACD,eAAe,YAAY,CAAC"}
|
@@ -73,8 +73,6 @@ class ScheduleTask extends _app.Singleton {
|
|
73
73
|
sendToTaskMaster(event, data) {
|
74
74
|
this.rECom.sendToServiceMaster(event, data);
|
75
75
|
}
|
76
|
-
|
77
|
-
//# Muted methods
|
78
76
|
onTaskInit() {
|
79
77
|
return;
|
80
78
|
}
|
@@ -119,8 +117,6 @@ class ScheduleTask extends _app.Singleton {
|
|
119
117
|
this.sendTaskWorkToCluster(workId, workData);
|
120
118
|
}
|
121
119
|
}
|
122
|
-
|
123
|
-
//# Cluster
|
124
120
|
sendTaskWorkToMaster(workId, workData) {
|
125
121
|
this.sendToTaskMaster('work.add', {
|
126
122
|
workId,
|
@@ -143,8 +139,6 @@ class ScheduleTask extends _app.Singleton {
|
|
143
139
|
onTaskClusterReceivedWork(_eventKey, _data) {
|
144
140
|
return;
|
145
141
|
}
|
146
|
-
|
147
|
-
//# Master
|
148
142
|
taskMasterReceived(worker, eventKey, data) {
|
149
143
|
switch (eventKey) {
|
150
144
|
case 'work.add':
|
@@ -192,14 +186,11 @@ class ScheduleTask extends _app.Singleton {
|
|
192
186
|
}
|
193
187
|
onClusterDown(_, worker) {
|
194
188
|
if (this.registeredClusters.has(worker.id)) {
|
195
|
-
// console.log('removendo cluster da lista de registrados');
|
196
189
|
this.registeredClusters.delete(worker.id);
|
197
190
|
}
|
198
191
|
}
|
199
192
|
taskClusterRegistered(_worker) {
|
200
193
|
if (!this.registeredClusters.has(_worker.id)) {
|
201
|
-
// console.log('registrando novo cluster', _worker.id);
|
202
|
-
|
203
194
|
this.registeredClusters.set(_worker.id, true);
|
204
195
|
}
|
205
196
|
this.onTaskClusterRegistered(_worker);
|
package/lib/services/test.js
CHANGED
@@ -6,8 +6,6 @@ Object.defineProperty(exports, "__esModule", {
|
|
6
6
|
exports.default = void 0;
|
7
7
|
var _service = _interopRequireDefault(require("../app/classes/service"));
|
8
8
|
function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
|
9
|
-
// import 'express-async-errors';
|
10
|
-
|
11
9
|
class TestService extends _service.default {
|
12
10
|
async onServiceClusterInit() {
|
13
11
|
console.log('iniciado no cluster');
|
package/lib/tasks/queue/teste.js
CHANGED
@@ -1,21 +1 @@
|
|
1
|
-
/* import { Job } from 'bullmq';
|
2
|
-
import { QueueTask } from '../../services';
|
3
|
-
import { eExecutionSide } from '../../contracts/core';
|
4
|
-
|
5
|
-
class TestTaskQueue extends QueueTask<string> {
|
6
|
-
getName(): string {
|
7
|
-
return 'Teste Job Queue';
|
8
|
-
}
|
9
|
-
|
10
|
-
async onTaskInit(): Promise<void> {
|
11
|
-
this.side = eExecutionSide.ANY;
|
12
|
-
}
|
13
|
-
|
14
|
-
async onExecute(_job: Job<string, any, string>, _token?: string): Promise<any> {
|
15
|
-
this.log('this job queue handled');
|
16
|
-
}
|
17
|
-
}
|
18
|
-
|
19
|
-
export default TestTaskQueue;
|
20
|
-
*/
|
21
1
|
"use strict";
|
@@ -15,22 +15,10 @@ class TestTaskSchedule extends _services.ScheduleTask {
|
|
15
15
|
getCronTask() {
|
16
16
|
return _contansts.eScheduleTaskInterval.DEFAULT;
|
17
17
|
}
|
18
|
-
/* async onClusterExecute() {
|
19
|
-
this.log('this job handled');
|
20
|
-
process.exit(0);
|
21
|
-
} */
|
22
18
|
async onMasterExecute() {
|
23
|
-
// console.log('sending...');
|
24
|
-
// this.sendTaskWorkToCluster('idworkd12344', 'testeeeeee');
|
25
19
|
this.log('this job handled');
|
26
20
|
process.exit(0);
|
27
21
|
}
|
28
|
-
/* async onTaskClusterInit() {
|
29
|
-
setTimeout(() => {
|
30
|
-
exit();
|
31
|
-
}, 5000);
|
32
|
-
} */
|
33
|
-
|
34
22
|
addTaskWork(workId, workData) {
|
35
23
|
if (this.isCluster()) {
|
36
24
|
this.sendTaskWorkToMaster(workId, workData);
|
@@ -38,16 +26,12 @@ class TestTaskSchedule extends _services.ScheduleTask {
|
|
38
26
|
this.sendTaskWorkToCluster(workId, workData);
|
39
27
|
}
|
40
28
|
}
|
41
|
-
|
42
|
-
//# Cluster
|
43
29
|
onTaskClusterReceived(eventKey, data) {
|
44
30
|
return;
|
45
31
|
}
|
46
32
|
onTaskClusterReceivedWork(eventKey, data) {
|
47
33
|
console.log('novo trabalho recebido neste cluster', data);
|
48
34
|
}
|
49
|
-
|
50
|
-
//# Master
|
51
35
|
onTaskMasterReceived(worker, eventKey, data) {
|
52
36
|
return;
|
53
37
|
}
|