exodus-framework 2.0.954 → 2.0.955
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/settings.d.ts.map +1 -1
- package/lib/contracts/settings.d.ts +1 -2
- package/lib/contracts/settings.d.ts.map +1 -1
- package/lib/utils/database.d.ts +1 -1
- package/lib/utils/database.d.ts.map +1 -1
- package/package.json +1 -1
- package/lib/app/classes/broadcast.js +0 -79
- package/lib/app/classes/cache.js +0 -94
- package/lib/app/classes/communication.js +0 -99
- package/lib/app/classes/communicationcontext.js +0 -1
- package/lib/app/classes/event.js +0 -94
- package/lib/app/classes/index.js +0 -105
- package/lib/app/classes/managed.js +0 -145
- package/lib/app/classes/service.js +0 -232
- package/lib/app/classes/servicemodel.js +0 -22
- package/lib/app/classes/singleton.js +0 -26
- package/lib/app/classes/socket/clienthandler.js +0 -54
- package/lib/app/classes/socket/eventhandler.js +0 -51
- package/lib/app/classes/socket/index.js +0 -20
- package/lib/app/classes/system.js +0 -49
- package/lib/app/controller.js +0 -97
- package/lib/app/core.js +0 -47
- package/lib/app/error.js +0 -66
- package/lib/app/exodus.js +0 -97
- package/lib/app/index.js +0 -68
- package/lib/app/settings.js +0 -162
- package/lib/certificates/private_key.pem +0 -27
- package/lib/certificates/public_key.pem +0 -9
- package/lib/contracts/communication/communication.js +0 -39
- package/lib/contracts/communication/index.js +0 -27
- package/lib/contracts/communication/operation.js +0 -5
- package/lib/contracts/console.js +0 -5
- package/lib/contracts/contansts.js +0 -13
- package/lib/contracts/core.js +0 -12
- package/lib/contracts/entity.js +0 -5
- package/lib/contracts/http.js +0 -52
- package/lib/contracts/index.js +0 -104
- package/lib/contracts/messaging.js +0 -50
- package/lib/contracts/security.js +0 -5
- package/lib/contracts/service.js +0 -11
- package/lib/contracts/session.js +0 -5
- package/lib/contracts/settings.js +0 -5
- package/lib/contracts/singleton.js +0 -5
- package/lib/contracts/socket.js +0 -11
- package/lib/contracts/tasks.js +0 -1
- package/lib/controllers/api/file.js +0 -24
- package/lib/controllers/api/index.js +0 -13
- package/lib/controllers/api/log.js +0 -55
- package/lib/controllers/api/report.js +0 -55
- package/lib/controllers/index.js +0 -16
- package/lib/controllers/messaging/application.js +0 -75
- package/lib/controllers/messaging/database.js +0 -64
- package/lib/controllers/messaging/environment.js +0 -111
- package/lib/express.d.js +0 -5
- package/lib/index.js +0 -104
- package/lib/middlewares/access.js +0 -114
- package/lib/middlewares/authentication.js +0 -104
- package/lib/middlewares/file.js +0 -41
- package/lib/middlewares/index.js +0 -36
- package/lib/models/Application.js +0 -65
- package/lib/models/DatabaseHost.js +0 -62
- package/lib/models/EnvConnection.js +0 -41
- package/lib/models/Log.js +0 -67
- package/lib/models/Report.js +0 -65
- package/lib/models/System.js +0 -54
- package/lib/models/index.js +0 -82
- package/lib/routes/api/index.js +0 -16
- package/lib/routes/api/v1/index.js +0 -38
- package/lib/routes/api/v1/logs.js +0 -19
- package/lib/routes/api/v1/report.js +0 -19
- package/lib/routes/api/v1/sse.js +0 -36
- package/lib/routes/index.js +0 -27
- package/lib/routes/messaging/index.js +0 -34
- package/lib/services/database.js +0 -136
- package/lib/services/ecosystem.js +0 -46
- package/lib/services/express.js +0 -162
- package/lib/services/file.js +0 -65
- package/lib/services/file_new.js +0 -136
- package/lib/services/index.js +0 -108
- package/lib/services/log.js +0 -26
- package/lib/services/rabitmq.js +0 -187
- package/lib/services/redis.js +0 -84
- package/lib/services/security.js +0 -231
- package/lib/services/sequelize.js +0 -313
- package/lib/services/socket.js +0 -123
- package/lib/services/task/TaskServiceBase.js +0 -17
- package/lib/services/task/index.js +0 -40
- package/lib/services/task/queue/QueueService.js +0 -48
- package/lib/services/task/queue/QueueTask.js +0 -134
- package/lib/services/task/queue/SingleQueue.js +0 -68
- package/lib/services/task/queue/index.js +0 -27
- package/lib/services/task/scheduler/SchedulerService.js +0 -31
- package/lib/services/task/scheduler/SchedulerTask.js +0 -211
- package/lib/services/task/scheduler/index.js +0 -20
- package/lib/services/test.js +0 -27
- package/lib/socket.d.js +0 -3
- package/lib/tasks/index.js +0 -27
- package/lib/tasks/queue/application.js +0 -44
- package/lib/tasks/queue/environment.js +0 -92
- package/lib/tasks/queue/index.js +0 -20
- package/lib/tasks/queue/teste.js +0 -21
- package/lib/tasks/schedule/index.js +0 -13
- package/lib/tasks/schedule/restart.js +0 -19
- package/lib/tasks/schedule/teste.js +0 -61
- package/lib/utils/api.js +0 -65
- package/lib/utils/database.js +0 -157
- package/lib/utils/date.js +0 -28
- package/lib/utils/index.js +0 -60
- package/lib/utils/logger.js +0 -51
- package/lib/utils/session.js +0 -23
@@ -1,40 +0,0 @@
|
|
1
|
-
"use strict";
|
2
|
-
|
3
|
-
Object.defineProperty(exports, "__esModule", {
|
4
|
-
value: true
|
5
|
-
});
|
6
|
-
var _exportNames = {
|
7
|
-
TaskServiceBase: true
|
8
|
-
};
|
9
|
-
Object.defineProperty(exports, "TaskServiceBase", {
|
10
|
-
enumerable: true,
|
11
|
-
get: function () {
|
12
|
-
return _TaskServiceBase.default;
|
13
|
-
}
|
14
|
-
});
|
15
|
-
var _queue = require("./queue");
|
16
|
-
Object.keys(_queue).forEach(function (key) {
|
17
|
-
if (key === "default" || key === "__esModule") return;
|
18
|
-
if (Object.prototype.hasOwnProperty.call(_exportNames, key)) return;
|
19
|
-
if (key in exports && exports[key] === _queue[key]) return;
|
20
|
-
Object.defineProperty(exports, key, {
|
21
|
-
enumerable: true,
|
22
|
-
get: function () {
|
23
|
-
return _queue[key];
|
24
|
-
}
|
25
|
-
});
|
26
|
-
});
|
27
|
-
var _scheduler = require("./scheduler");
|
28
|
-
Object.keys(_scheduler).forEach(function (key) {
|
29
|
-
if (key === "default" || key === "__esModule") return;
|
30
|
-
if (Object.prototype.hasOwnProperty.call(_exportNames, key)) return;
|
31
|
-
if (key in exports && exports[key] === _scheduler[key]) return;
|
32
|
-
Object.defineProperty(exports, key, {
|
33
|
-
enumerable: true,
|
34
|
-
get: function () {
|
35
|
-
return _scheduler[key];
|
36
|
-
}
|
37
|
-
});
|
38
|
-
});
|
39
|
-
var _TaskServiceBase = _interopRequireDefault(require("./TaskServiceBase"));
|
40
|
-
function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
|
@@ -1,48 +0,0 @@
|
|
1
|
-
"use strict";
|
2
|
-
|
3
|
-
Object.defineProperty(exports, "__esModule", {
|
4
|
-
value: true
|
5
|
-
});
|
6
|
-
exports.default = void 0;
|
7
|
-
var _bullmq = require("bullmq");
|
8
|
-
var _app = require("../../../app");
|
9
|
-
var _core = require("../../../contracts/core");
|
10
|
-
var _TaskServiceBase = _interopRequireDefault(require("../TaskServiceBase"));
|
11
|
-
function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
|
12
|
-
//* Queue
|
13
|
-
class QueueTaskService extends _TaskServiceBase.default {
|
14
|
-
connection;
|
15
|
-
async onStart() {
|
16
|
-
this.connection = {
|
17
|
-
host: _app.Core.settings.getCache().host,
|
18
|
-
port: Number(_app.Core.settings.getCache().port),
|
19
|
-
password: _app.Core.settings.getCache().password
|
20
|
-
};
|
21
|
-
this.log('Initializing jobs', 'info');
|
22
|
-
for (const task of this.tasks) {
|
23
|
-
this.startTask(task.singleton());
|
24
|
-
}
|
25
|
-
this.log('All jobs initializeds', 'info');
|
26
|
-
return true;
|
27
|
-
}
|
28
|
-
async startTask(task) {
|
29
|
-
task.taskInit();
|
30
|
-
if (!task.getActive()) return;
|
31
|
-
if (task.getSide() === _core.eExecutionSide.ANY || task.getSide() === _core.eExecutionSide.CLUSTER && this.isCluster() || task.getSide() === _core.eExecutionSide.MASTER && this.isMaster()) {
|
32
|
-
const worker = new _bullmq.Worker(task.getName(), task.execute.bind(task), {
|
33
|
-
connection: this.connection,
|
34
|
-
concurrency: task.getConcurrency()
|
35
|
-
});
|
36
|
-
task.setWorker(worker);
|
37
|
-
}
|
38
|
-
const queue = new _bullmq.Queue(task.getName(), {
|
39
|
-
connection: this.connection
|
40
|
-
});
|
41
|
-
task.setQueue(queue);
|
42
|
-
this.log(`Task '${task.getName()}' started...`, 'warning');
|
43
|
-
}
|
44
|
-
getCacheConnection() {
|
45
|
-
return this.connection;
|
46
|
-
}
|
47
|
-
}
|
48
|
-
var _default = exports.default = QueueTaskService;
|
@@ -1,134 +0,0 @@
|
|
1
|
-
"use strict";
|
2
|
-
|
3
|
-
Object.defineProperty(exports, "__esModule", {
|
4
|
-
value: true
|
5
|
-
});
|
6
|
-
exports.default = void 0;
|
7
|
-
var _app = require("../../../app");
|
8
|
-
var _communication = _interopRequireDefault(require("../../../app/classes/communication"));
|
9
|
-
var _service = require("../../../contracts/service");
|
10
|
-
var _core = require("../../../contracts/core");
|
11
|
-
function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
|
12
|
-
class QueueTask extends _app.Singleton {
|
13
|
-
rECom;
|
14
|
-
queue;
|
15
|
-
worker;
|
16
|
-
side;
|
17
|
-
name;
|
18
|
-
active;
|
19
|
-
concurrency;
|
20
|
-
|
21
|
-
//# Init
|
22
|
-
async taskInit() {
|
23
|
-
this.rECom = new _communication.default(this.constructor.name);
|
24
|
-
this.rECom.on(_service.eEventCommunication.RECEIVED_CLUSTER_MESSAGE, this.onTaskMasterReceived.bind(this));
|
25
|
-
this.rECom.on(_service.eEventCommunication.RECEIVED_MASTER_MESSAGE, this.onTaskClusterReceived.bind(this));
|
26
|
-
this.side = _core.eExecutionSide.ANY;
|
27
|
-
this.name = this.constructor.name;
|
28
|
-
this.active = true;
|
29
|
-
this.concurrency = 1;
|
30
|
-
this.onTaskInit();
|
31
|
-
if (this.isMaster()) {
|
32
|
-
this.onTaskMasterInit();
|
33
|
-
}
|
34
|
-
if (this.isCluster()) {
|
35
|
-
this.onTaskClusterInit();
|
36
|
-
}
|
37
|
-
}
|
38
|
-
|
39
|
-
//# Getters
|
40
|
-
getQueue() {
|
41
|
-
return this.queue;
|
42
|
-
}
|
43
|
-
getWorker() {
|
44
|
-
return (this.side === _core.eExecutionSide.ANY || this.side === _core.eExecutionSide.CLUSTER && this.isCluster() || this.side === _core.eExecutionSide.MASTER && this.isMaster()) && this.worker != undefined;
|
45
|
-
}
|
46
|
-
getActive() {
|
47
|
-
return this.active;
|
48
|
-
}
|
49
|
-
getName() {
|
50
|
-
return this.name;
|
51
|
-
}
|
52
|
-
getSide() {
|
53
|
-
return this.side;
|
54
|
-
}
|
55
|
-
getConcurrency() {
|
56
|
-
return this.concurrency;
|
57
|
-
}
|
58
|
-
|
59
|
-
//# Setters
|
60
|
-
setQueue(queue) {
|
61
|
-
this.queue = queue;
|
62
|
-
}
|
63
|
-
setWorker(worker) {
|
64
|
-
this.worker = worker;
|
65
|
-
}
|
66
|
-
|
67
|
-
//# Basic Handlers
|
68
|
-
execute(job, token) {
|
69
|
-
this.onExecute(job, token);
|
70
|
-
if (this.isCluster()) {
|
71
|
-
this.onClusterExecute(job, token);
|
72
|
-
}
|
73
|
-
if (this.isMaster()) {
|
74
|
-
this.onMasterExecute(job, token);
|
75
|
-
}
|
76
|
-
}
|
77
|
-
async addJob(data) {
|
78
|
-
if (!this.getActive()) {
|
79
|
-
new _app.ErrorHandler('falha ao adicionar uma tarefa', new Error('A task não está ativa'));
|
80
|
-
return;
|
81
|
-
}
|
82
|
-
if (!this.getQueue()) {
|
83
|
-
new _app.ErrorHandler('falha ao adicionar uma tarefa', new Error('A task não está pronta'));
|
84
|
-
return;
|
85
|
-
}
|
86
|
-
await this.queue.add(this.getName(), data);
|
87
|
-
this.onNewJob(data);
|
88
|
-
// this.log('Nova tarefa disponível.', 'comment');
|
89
|
-
}
|
90
|
-
static async addJob(data) {
|
91
|
-
this.singleton().addJob(data);
|
92
|
-
}
|
93
|
-
|
94
|
-
//# Events
|
95
|
-
onTaskInit() {
|
96
|
-
return;
|
97
|
-
}
|
98
|
-
onTaskClusterInit() {
|
99
|
-
return;
|
100
|
-
}
|
101
|
-
onTaskMasterInit() {
|
102
|
-
return;
|
103
|
-
}
|
104
|
-
//----------------------------------------------------------------------------
|
105
|
-
onTaskMasterReceived(_worker, _eventKey, _data) {
|
106
|
-
return;
|
107
|
-
}
|
108
|
-
onTaskClusterReceived(_eventKey, _data) {
|
109
|
-
return;
|
110
|
-
}
|
111
|
-
//----------------------------------------------------------------------------
|
112
|
-
onClusterExecute(_job, _token) {
|
113
|
-
return;
|
114
|
-
}
|
115
|
-
onMasterExecute(_job, _token) {
|
116
|
-
return;
|
117
|
-
}
|
118
|
-
onExecute(_job, _token) {
|
119
|
-
return;
|
120
|
-
}
|
121
|
-
//----------------------------------------------------------------------------
|
122
|
-
onNewJob(_data) {
|
123
|
-
return;
|
124
|
-
}
|
125
|
-
|
126
|
-
//# Managed
|
127
|
-
sendTaskToCluster(clusterId, event, data) {
|
128
|
-
this.rECom.sendMessageToCluster(clusterId, event, data);
|
129
|
-
}
|
130
|
-
sendTaskToMaster(event, data) {
|
131
|
-
this.rECom.sendMessageToMaster(event, data);
|
132
|
-
}
|
133
|
-
}
|
134
|
-
var _default = exports.default = QueueTask;
|
@@ -1,68 +0,0 @@
|
|
1
|
-
"use strict";
|
2
|
-
|
3
|
-
Object.defineProperty(exports, "__esModule", {
|
4
|
-
value: true
|
5
|
-
});
|
6
|
-
exports.default = void 0;
|
7
|
-
var _bullmq = require("bullmq");
|
8
|
-
var _system = _interopRequireDefault(require("../../../app/classes/system"));
|
9
|
-
var _QueueService = _interopRequireDefault(require("./QueueService"));
|
10
|
-
var _app = require("../../../app");
|
11
|
-
function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
|
12
|
-
class SingleQueue extends _system.default {
|
13
|
-
worker;
|
14
|
-
queue;
|
15
|
-
concurrency = 1;
|
16
|
-
name;
|
17
|
-
onTick;
|
18
|
-
constructor(cacheKey) {
|
19
|
-
super();
|
20
|
-
this.cacheKey = cacheKey;
|
21
|
-
this.name = `${this.constructor.name}.${this.cacheKey}`;
|
22
|
-
}
|
23
|
-
start() {
|
24
|
-
this.createWorker();
|
25
|
-
this.createQueue();
|
26
|
-
}
|
27
|
-
createQueue() {
|
28
|
-
this.queue = new _bullmq.Queue(this.name, {
|
29
|
-
connection: _QueueService.default.getService().getCacheConnection()
|
30
|
-
});
|
31
|
-
}
|
32
|
-
createWorker() {
|
33
|
-
this.worker = new _bullmq.Worker(this.name, this.tick.bind(this), {
|
34
|
-
connection: _QueueService.default.getService().getCacheConnection(),
|
35
|
-
concurrency: this.concurrency
|
36
|
-
});
|
37
|
-
}
|
38
|
-
setConcurrency(concurrency) {
|
39
|
-
if (concurrency < 1) concurrency = 1;
|
40
|
-
this.concurrency = concurrency;
|
41
|
-
}
|
42
|
-
async tick(job, _token) {
|
43
|
-
if (!this.onTick) return;
|
44
|
-
const {
|
45
|
-
data
|
46
|
-
} = job;
|
47
|
-
await this.onTick(data);
|
48
|
-
}
|
49
|
-
setTick(cb) {
|
50
|
-
this.onTick = cb;
|
51
|
-
}
|
52
|
-
async addJob(data) {
|
53
|
-
if (!this.queue) {
|
54
|
-
new _app.ErrorHandler('falha ao adicionar uma tarefa', new Error('A task não está pronta'));
|
55
|
-
return;
|
56
|
-
}
|
57
|
-
await this.queue.add(this.name, data);
|
58
|
-
}
|
59
|
-
pauseQueue() {
|
60
|
-
if (!this.queue) return;
|
61
|
-
this.queue.pause();
|
62
|
-
}
|
63
|
-
resumeQueue() {
|
64
|
-
if (!this.queue) return;
|
65
|
-
this.queue.resume();
|
66
|
-
}
|
67
|
-
}
|
68
|
-
var _default = exports.default = SingleQueue;
|
@@ -1,27 +0,0 @@
|
|
1
|
-
"use strict";
|
2
|
-
|
3
|
-
Object.defineProperty(exports, "__esModule", {
|
4
|
-
value: true
|
5
|
-
});
|
6
|
-
Object.defineProperty(exports, "QueueTask", {
|
7
|
-
enumerable: true,
|
8
|
-
get: function () {
|
9
|
-
return _QueueTask.default;
|
10
|
-
}
|
11
|
-
});
|
12
|
-
Object.defineProperty(exports, "QueueTaskService", {
|
13
|
-
enumerable: true,
|
14
|
-
get: function () {
|
15
|
-
return _QueueService.default;
|
16
|
-
}
|
17
|
-
});
|
18
|
-
Object.defineProperty(exports, "SingleQueue", {
|
19
|
-
enumerable: true,
|
20
|
-
get: function () {
|
21
|
-
return _SingleQueue.default;
|
22
|
-
}
|
23
|
-
});
|
24
|
-
var _QueueService = _interopRequireDefault(require("./QueueService"));
|
25
|
-
var _QueueTask = _interopRequireDefault(require("./QueueTask"));
|
26
|
-
var _SingleQueue = _interopRequireDefault(require("./SingleQueue"));
|
27
|
-
function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
|
@@ -1,31 +0,0 @@
|
|
1
|
-
"use strict";
|
2
|
-
|
3
|
-
Object.defineProperty(exports, "__esModule", {
|
4
|
-
value: true
|
5
|
-
});
|
6
|
-
exports.default = void 0;
|
7
|
-
var _nodeSchedule = require("node-schedule");
|
8
|
-
var _core = require("../../../contracts/core");
|
9
|
-
var _TaskServiceBase = _interopRequireDefault(require("../TaskServiceBase"));
|
10
|
-
function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
|
11
|
-
class SchedulerTaskService extends _TaskServiceBase.default {
|
12
|
-
async onStart() {
|
13
|
-
this.log('Initializing taks...');
|
14
|
-
for (const task of this.tasks) {
|
15
|
-
const intanceTask = task.singleton();
|
16
|
-
this.startTask(intanceTask);
|
17
|
-
}
|
18
|
-
return true;
|
19
|
-
}
|
20
|
-
async startTask(task) {
|
21
|
-
await task.taskInit();
|
22
|
-
if (!task.getActive()) return;
|
23
|
-
if (task.getSide() === _core.eExecutionSide.ANY || task.getSide() === _core.eExecutionSide.CLUSTER && this.isCluster() || task.getSide() === _core.eExecutionSide.MASTER && this.isMaster()) {
|
24
|
-
if (task.isImmediate()) task.execute();
|
25
|
-
const job = (0, _nodeSchedule.scheduleJob)(task.getCronTask(), task.execute.bind(task));
|
26
|
-
task.setJob(job);
|
27
|
-
}
|
28
|
-
this.log(`Job '${task.getName()}' started...`, 'warning');
|
29
|
-
}
|
30
|
-
}
|
31
|
-
var _default = exports.default = SchedulerTaskService;
|
@@ -1,211 +0,0 @@
|
|
1
|
-
"use strict";
|
2
|
-
|
3
|
-
Object.defineProperty(exports, "__esModule", {
|
4
|
-
value: true
|
5
|
-
});
|
6
|
-
exports.default = void 0;
|
7
|
-
var _app = require("../../../app");
|
8
|
-
var _contansts = require("../../../contracts/contansts");
|
9
|
-
var _service = require("../../../contracts/service");
|
10
|
-
var _communication = _interopRequireDefault(require("../../../app/classes/communication"));
|
11
|
-
var _core = require("../../../contracts/core");
|
12
|
-
function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
|
13
|
-
class ScheduleTask extends _app.Singleton {
|
14
|
-
rECom;
|
15
|
-
workPerCluster = new Map();
|
16
|
-
lastDesignatedClusterId = 0;
|
17
|
-
registeredClusters = new Map();
|
18
|
-
cron;
|
19
|
-
active;
|
20
|
-
name;
|
21
|
-
side;
|
22
|
-
job;
|
23
|
-
/**
|
24
|
-
* Deve ser executada imediatamente e depois agendada?
|
25
|
-
*
|
26
|
-
* @protected
|
27
|
-
* @type {boolean}
|
28
|
-
* @memberof ScheduleTask
|
29
|
-
*/
|
30
|
-
immediate;
|
31
|
-
/**
|
32
|
-
* Esta task deve ficar ativa ou parada após a execução?
|
33
|
-
* Tenha em mente que se/também immediate = true, esta task será executada apenas na
|
34
|
-
* inicialização do Exodus
|
35
|
-
*
|
36
|
-
* @protected
|
37
|
-
* @type {boolean}
|
38
|
-
* @memberof ScheduleTask
|
39
|
-
*/
|
40
|
-
persistent;
|
41
|
-
async execute() {
|
42
|
-
this.onExecute();
|
43
|
-
if (this.isCluster()) {
|
44
|
-
this.onClusterExecute();
|
45
|
-
}
|
46
|
-
if (this.isMaster()) {
|
47
|
-
this.onMasterExecute();
|
48
|
-
}
|
49
|
-
if (!this.persistent) this.job.cancel();
|
50
|
-
}
|
51
|
-
async taskInit() {
|
52
|
-
this.cron = _contansts.eScheduleTaskInterval.DEFAULT;
|
53
|
-
this.active = true;
|
54
|
-
this.name = this.constructor.name;
|
55
|
-
this.side = _core.eExecutionSide.ANY;
|
56
|
-
this.immediate = false;
|
57
|
-
this.persistent = true;
|
58
|
-
this.rECom = new _communication.default(this.name);
|
59
|
-
this.rECom.on(_service.eEventCommunication.RECEIVED_CLUSTER_MESSAGE, this.taskMasterReceived.bind(this));
|
60
|
-
this.rECom.on(_service.eEventCommunication.RECEIVED_MASTER_MESSAGE, this.taskClusterReceived.bind(this));
|
61
|
-
this.onTaskInit();
|
62
|
-
if (this.isMaster()) {
|
63
|
-
this.onTaskMasterInit();
|
64
|
-
}
|
65
|
-
if (this.isCluster()) {
|
66
|
-
this.onTaskClusterInit();
|
67
|
-
this.sendToTaskMaster('task.init', {});
|
68
|
-
}
|
69
|
-
}
|
70
|
-
sendToTaskCluster(clusterId, event, data) {
|
71
|
-
this.rECom.sendToServiceCluster(clusterId, event, data);
|
72
|
-
}
|
73
|
-
sendToTaskMaster(event, data) {
|
74
|
-
this.rECom.sendToServiceMaster(event, data);
|
75
|
-
}
|
76
|
-
|
77
|
-
//# Muted methods
|
78
|
-
onTaskInit() {
|
79
|
-
return;
|
80
|
-
}
|
81
|
-
onTaskClusterInit() {
|
82
|
-
return;
|
83
|
-
}
|
84
|
-
onTaskMasterInit() {
|
85
|
-
return;
|
86
|
-
}
|
87
|
-
getCronTask() {
|
88
|
-
return this.cron;
|
89
|
-
}
|
90
|
-
getActive() {
|
91
|
-
return this.active;
|
92
|
-
}
|
93
|
-
getName() {
|
94
|
-
return this.name;
|
95
|
-
}
|
96
|
-
getSide() {
|
97
|
-
return this.side;
|
98
|
-
}
|
99
|
-
isImmediate() {
|
100
|
-
return this.immediate;
|
101
|
-
}
|
102
|
-
setJob(job) {
|
103
|
-
if (this.job) return;
|
104
|
-
this.job = job;
|
105
|
-
}
|
106
|
-
onExecute() {
|
107
|
-
return;
|
108
|
-
}
|
109
|
-
onClusterExecute() {
|
110
|
-
return;
|
111
|
-
}
|
112
|
-
onMasterExecute() {
|
113
|
-
return;
|
114
|
-
}
|
115
|
-
addTaskWork(workId, workData) {
|
116
|
-
if (this.isCluster()) {
|
117
|
-
this.sendTaskWorkToMaster(workId, workData);
|
118
|
-
} else {
|
119
|
-
this.sendTaskWorkToCluster(workId, workData);
|
120
|
-
}
|
121
|
-
}
|
122
|
-
|
123
|
-
//# Cluster
|
124
|
-
sendTaskWorkToMaster(workId, workData) {
|
125
|
-
this.sendToTaskMaster('work.add', {
|
126
|
-
workId,
|
127
|
-
workData
|
128
|
-
});
|
129
|
-
}
|
130
|
-
taskClusterReceived(eventKey, data) {
|
131
|
-
switch (eventKey) {
|
132
|
-
case 'work.add':
|
133
|
-
this.onTaskClusterReceivedWork(eventKey, data);
|
134
|
-
break;
|
135
|
-
default:
|
136
|
-
this.onTaskClusterReceivedData(eventKey, data);
|
137
|
-
break;
|
138
|
-
}
|
139
|
-
}
|
140
|
-
onTaskClusterReceivedData(_eventKey, _data) {
|
141
|
-
return;
|
142
|
-
}
|
143
|
-
onTaskClusterReceivedWork(_eventKey, _data) {
|
144
|
-
return;
|
145
|
-
}
|
146
|
-
|
147
|
-
//# Master
|
148
|
-
taskMasterReceived(worker, eventKey, data) {
|
149
|
-
switch (eventKey) {
|
150
|
-
case 'work.add':
|
151
|
-
this.onTaskMasterReceivedWork(worker, eventKey, data);
|
152
|
-
break;
|
153
|
-
case 'work.add.accepted':
|
154
|
-
this.onTaskMasterAcceptedWork(worker, eventKey, data);
|
155
|
-
break;
|
156
|
-
case 'task.init':
|
157
|
-
this.taskClusterRegistered(worker);
|
158
|
-
break;
|
159
|
-
default:
|
160
|
-
this.onTaskMasterReceived(worker, eventKey, data);
|
161
|
-
break;
|
162
|
-
}
|
163
|
-
}
|
164
|
-
onTaskMasterReceived(worker, eventKey, data) {
|
165
|
-
switch (eventKey) {
|
166
|
-
case 'work.add':
|
167
|
-
this.onTaskMasterReceivedWork(worker, eventKey, data);
|
168
|
-
break;
|
169
|
-
case 'work.add.accepted':
|
170
|
-
this.onTaskMasterAcceptedWork(worker, eventKey, data);
|
171
|
-
break;
|
172
|
-
default:
|
173
|
-
console.log('mensagem desconhecida recebida', eventKey);
|
174
|
-
break;
|
175
|
-
}
|
176
|
-
}
|
177
|
-
onTaskMasterReceivedWork(_worker, _eventKey, _data) {
|
178
|
-
return;
|
179
|
-
}
|
180
|
-
onTaskMasterAcceptedWork(_worker, _eventKey, _data) {
|
181
|
-
return;
|
182
|
-
}
|
183
|
-
sendTaskWorkToCluster(workId, workData) {
|
184
|
-
const total = this.getClusterCount();
|
185
|
-
if (!this.workPerCluster.has(workId)) {
|
186
|
-
const nextCluster = this.lastDesignatedClusterId + 1 > total ? 1 : this.lastDesignatedClusterId + 1;
|
187
|
-
this.sendToTaskCluster(nextCluster, 'work.add', {
|
188
|
-
workId,
|
189
|
-
workData
|
190
|
-
});
|
191
|
-
}
|
192
|
-
}
|
193
|
-
onClusterDown(_, worker) {
|
194
|
-
if (this.registeredClusters.has(worker.id)) {
|
195
|
-
// console.log('removendo cluster da lista de registrados');
|
196
|
-
this.registeredClusters.delete(worker.id);
|
197
|
-
}
|
198
|
-
}
|
199
|
-
taskClusterRegistered(_worker) {
|
200
|
-
if (!this.registeredClusters.has(_worker.id)) {
|
201
|
-
// console.log('registrando novo cluster', _worker.id);
|
202
|
-
|
203
|
-
this.registeredClusters.set(_worker.id, true);
|
204
|
-
}
|
205
|
-
this.onTaskClusterRegistered(_worker);
|
206
|
-
}
|
207
|
-
onTaskClusterRegistered(_worker) {
|
208
|
-
return;
|
209
|
-
}
|
210
|
-
}
|
211
|
-
var _default = exports.default = ScheduleTask;
|
@@ -1,20 +0,0 @@
|
|
1
|
-
"use strict";
|
2
|
-
|
3
|
-
Object.defineProperty(exports, "__esModule", {
|
4
|
-
value: true
|
5
|
-
});
|
6
|
-
Object.defineProperty(exports, "ScheduleTask", {
|
7
|
-
enumerable: true,
|
8
|
-
get: function () {
|
9
|
-
return _SchedulerTask.default;
|
10
|
-
}
|
11
|
-
});
|
12
|
-
Object.defineProperty(exports, "SchedulerTaskService", {
|
13
|
-
enumerable: true,
|
14
|
-
get: function () {
|
15
|
-
return _SchedulerService.default;
|
16
|
-
}
|
17
|
-
});
|
18
|
-
var _SchedulerService = _interopRequireDefault(require("./SchedulerService"));
|
19
|
-
var _SchedulerTask = _interopRequireDefault(require("./SchedulerTask"));
|
20
|
-
function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
|
package/lib/services/test.js
DELETED
@@ -1,27 +0,0 @@
|
|
1
|
-
"use strict";
|
2
|
-
|
3
|
-
Object.defineProperty(exports, "__esModule", {
|
4
|
-
value: true
|
5
|
-
});
|
6
|
-
exports.default = void 0;
|
7
|
-
var _service = _interopRequireDefault(require("../app/classes/service"));
|
8
|
-
function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
|
9
|
-
// import 'express-async-errors';
|
10
|
-
|
11
|
-
class TestService extends _service.default {
|
12
|
-
async onServiceClusterInit() {
|
13
|
-
console.log('iniciado no cluster');
|
14
|
-
this.sendToServiceMaster('evento.teste', 'olá');
|
15
|
-
}
|
16
|
-
onMasterInit() {
|
17
|
-
console.log('iniciado no master');
|
18
|
-
}
|
19
|
-
onServiceMasterReceived(worker, eventKey, data) {
|
20
|
-
console.log('mensagem recebida do cluster', eventKey, data);
|
21
|
-
this.sendToServiceCluster(worker.id, 'evento.teste.resposta', 'olá amigo');
|
22
|
-
}
|
23
|
-
onServiceClusterReceived(eventKey, data) {
|
24
|
-
console.log('mensagem recebida do master', eventKey, data);
|
25
|
-
}
|
26
|
-
}
|
27
|
-
var _default = exports.default = TestService;
|
package/lib/socket.d.js
DELETED
package/lib/tasks/index.js
DELETED
@@ -1,27 +0,0 @@
|
|
1
|
-
"use strict";
|
2
|
-
|
3
|
-
Object.defineProperty(exports, "__esModule", {
|
4
|
-
value: true
|
5
|
-
});
|
6
|
-
var _queue = require("./queue");
|
7
|
-
Object.keys(_queue).forEach(function (key) {
|
8
|
-
if (key === "default" || key === "__esModule") return;
|
9
|
-
if (key in exports && exports[key] === _queue[key]) return;
|
10
|
-
Object.defineProperty(exports, key, {
|
11
|
-
enumerable: true,
|
12
|
-
get: function () {
|
13
|
-
return _queue[key];
|
14
|
-
}
|
15
|
-
});
|
16
|
-
});
|
17
|
-
var _schedule = require("./schedule");
|
18
|
-
Object.keys(_schedule).forEach(function (key) {
|
19
|
-
if (key === "default" || key === "__esModule") return;
|
20
|
-
if (key in exports && exports[key] === _schedule[key]) return;
|
21
|
-
Object.defineProperty(exports, key, {
|
22
|
-
enumerable: true,
|
23
|
-
get: function () {
|
24
|
-
return _schedule[key];
|
25
|
-
}
|
26
|
-
});
|
27
|
-
});
|
@@ -1,44 +0,0 @@
|
|
1
|
-
"use strict";
|
2
|
-
|
3
|
-
Object.defineProperty(exports, "__esModule", {
|
4
|
-
value: true
|
5
|
-
});
|
6
|
-
exports.default = void 0;
|
7
|
-
var _queue = require("../../services/task/queue");
|
8
|
-
var _core = require("../../contracts/core");
|
9
|
-
var _models = require("../../models");
|
10
|
-
var _app = require("../../app");
|
11
|
-
class ApplicationSyncQueue extends _queue.QueueTask {
|
12
|
-
getName() {
|
13
|
-
return 'Appplication Sync Queue';
|
14
|
-
}
|
15
|
-
async onTaskInit() {
|
16
|
-
this.side = _core.eExecutionSide.ANY;
|
17
|
-
this.concurrency = 1;
|
18
|
-
}
|
19
|
-
async onExecute(job, _token) {
|
20
|
-
if ('create' in job.data) {
|
21
|
-
await this.onCreate(job.data.create);
|
22
|
-
}
|
23
|
-
if ('update' in job.data) {
|
24
|
-
await this.onUpdate(job.data.update);
|
25
|
-
}
|
26
|
-
}
|
27
|
-
async onCreate(data) {
|
28
|
-
try {
|
29
|
-
await _models.Application.create(data);
|
30
|
-
} catch (error) {
|
31
|
-
new _app.ErrorHandler('Houve um erro ao tentar criar a aplicação', error);
|
32
|
-
}
|
33
|
-
}
|
34
|
-
async onUpdate(data) {
|
35
|
-
try {
|
36
|
-
const app = await _models.Application.findByPk(data.uuid);
|
37
|
-
if (!app) throw new Error('Aplicação não encontrada: ' + data.uuid);
|
38
|
-
await app.update(data);
|
39
|
-
} catch (error) {
|
40
|
-
new _app.ErrorHandler('Houve um erro ao tentar atualizar a aplicação, check o log...', error);
|
41
|
-
}
|
42
|
-
}
|
43
|
-
}
|
44
|
-
var _default = exports.default = ApplicationSyncQueue;
|