@quatrain/worker 1.1.21 → 1.1.22
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/Handler.d.ts +1 -0
- package/lib/Handler.js +37 -0
- package/lib/Worker.d.ts +7 -0
- package/lib/Worker.js +36 -0
- package/lib/index.d.ts +3 -1
- package/lib/index.js +3 -1
- package/lib/types/HandlerParameters copy.d.ts +8 -0
- package/lib/types/HandlerParameters copy.js +6 -0
- package/lib/types/HandlerParameters.d.ts +7 -0
- package/lib/types/HandlerParameters.js +2 -0
- package/lib/types/ModeEnum.d.ts +5 -0
- package/lib/types/ModeEnum.js +9 -0
- package/lib/types/ModeTypes.d.ts +5 -0
- package/lib/types/ModeTypes.js +9 -0
- package/package.json +3 -2
package/lib/Handler.d.ts
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export declare const handler: (messageHandler: Function, config: any, adapters: any) => Promise<void>;
|
package/lib/Handler.js
ADDED
|
@@ -0,0 +1,37 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.handler = void 0;
|
|
4
|
+
const Worker_1 = require("./Worker");
|
|
5
|
+
const handler = async (messageHandler, config, adapters) => {
|
|
6
|
+
try {
|
|
7
|
+
Worker_1.Worker.info(`Worker version ${require('../package.json').version} started in ${config.MQ_MODE} mode`);
|
|
8
|
+
switch (config.MQ_MODE) {
|
|
9
|
+
case 'queue':
|
|
10
|
+
const { Queue } = require('@quatrain/queue');
|
|
11
|
+
Queue.addQueue(adapters.queue, 'default', true);
|
|
12
|
+
Queue.info(`Connecting to amqp://${config.MQ_HOST}:${config.MQ_PORT}`);
|
|
13
|
+
Queue.getQueue().listen(config.MQ_TOPIC, messageHandler);
|
|
14
|
+
Queue.info(`Connected and listening to ${config.MQ_TOPIC}, ready to receive messages.`);
|
|
15
|
+
break;
|
|
16
|
+
case 'cli':
|
|
17
|
+
case 'test':
|
|
18
|
+
Worker_1.Worker.warn(`Message received from CLI.`);
|
|
19
|
+
const json = config.MQ_MODE === 'test'
|
|
20
|
+
? require('../test.json')
|
|
21
|
+
: process.env.JSON;
|
|
22
|
+
if (!json) {
|
|
23
|
+
throw new Error(`CLI call with missing environment variables`);
|
|
24
|
+
}
|
|
25
|
+
await messageHandler(json);
|
|
26
|
+
break;
|
|
27
|
+
default:
|
|
28
|
+
Worker_1.Worker.error(`Unknown mode option: '${config.MQ_MODE}'`);
|
|
29
|
+
process.exit(1);
|
|
30
|
+
}
|
|
31
|
+
}
|
|
32
|
+
catch (error) {
|
|
33
|
+
Worker_1.Worker.error(error.message);
|
|
34
|
+
process.exit(1);
|
|
35
|
+
}
|
|
36
|
+
};
|
|
37
|
+
exports.handler = handler;
|
package/lib/Worker.d.ts
CHANGED
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
import { Core } from '@quatrain/core';
|
|
2
|
+
import { HandlerParameters } from './types/HandlerParameters';
|
|
2
3
|
export declare class Worker extends Core {
|
|
3
4
|
static endpoint: string;
|
|
4
5
|
static logger: any;
|
|
@@ -19,4 +20,10 @@ export declare class Worker extends Core {
|
|
|
19
20
|
* @returns boolean
|
|
20
21
|
*/
|
|
21
22
|
static pushEvent(event: string, data?: {}, ts?: number): false | undefined;
|
|
23
|
+
/**
|
|
24
|
+
* Global handling function to process received messages
|
|
25
|
+
* @param messageHandler function
|
|
26
|
+
* @param config object
|
|
27
|
+
*/
|
|
28
|
+
static handler: (messageHandler: Function, config: HandlerParameters) => Promise<void>;
|
|
22
29
|
}
|
package/lib/Worker.js
CHANGED
|
@@ -69,5 +69,41 @@ class Worker extends core_1.Core {
|
|
|
69
69
|
return false;
|
|
70
70
|
});
|
|
71
71
|
}
|
|
72
|
+
/**
|
|
73
|
+
* Global handling function to process received messages
|
|
74
|
+
* @param messageHandler function
|
|
75
|
+
* @param config object
|
|
76
|
+
*/
|
|
77
|
+
static handler = async (messageHandler, config) => {
|
|
78
|
+
try {
|
|
79
|
+
Worker.info(`Worker version ${require('../package.json').version} started in ${config.mode} mode`);
|
|
80
|
+
switch (config.mode) {
|
|
81
|
+
case 'queue':
|
|
82
|
+
const { Queue } = require('@quatrain/queue');
|
|
83
|
+
Queue.addQueue(config.queueAdapter, 'default', true);
|
|
84
|
+
Queue.getQueue().listen(config.topic, messageHandler);
|
|
85
|
+
Queue.info(`Connected and listening to ${config.topic}, ready to receive messages.`);
|
|
86
|
+
break;
|
|
87
|
+
case 'cli':
|
|
88
|
+
case 'test':
|
|
89
|
+
Worker.warn(`Message received from CLI.`);
|
|
90
|
+
const json = config.mode === 'test'
|
|
91
|
+
? require('../test.json')
|
|
92
|
+
: process.env.JSON;
|
|
93
|
+
if (!json) {
|
|
94
|
+
throw new Error(`CLI call with missing environment variables`);
|
|
95
|
+
}
|
|
96
|
+
await messageHandler(json);
|
|
97
|
+
break;
|
|
98
|
+
default:
|
|
99
|
+
Worker.error(`Unknown mode option: '${config.mode}'`);
|
|
100
|
+
process.exit(1);
|
|
101
|
+
}
|
|
102
|
+
}
|
|
103
|
+
catch (error) {
|
|
104
|
+
Worker.error(error.message);
|
|
105
|
+
process.exit(1);
|
|
106
|
+
}
|
|
107
|
+
};
|
|
72
108
|
}
|
|
73
109
|
exports.Worker = Worker;
|
package/lib/index.d.ts
CHANGED
|
@@ -1,3 +1,5 @@
|
|
|
1
1
|
import { Worker } from './Worker';
|
|
2
2
|
import { FileSystem } from './FileSystem';
|
|
3
|
-
|
|
3
|
+
import { HandlerParameters } from './types/HandlerParameters';
|
|
4
|
+
import { ModeEnum } from './types/ModeEnum';
|
|
5
|
+
export { Worker, FileSystem, ModeEnum, HandlerParameters };
|
package/lib/index.js
CHANGED
|
@@ -1,7 +1,9 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.FileSystem = exports.Worker = void 0;
|
|
3
|
+
exports.ModeEnum = exports.FileSystem = exports.Worker = void 0;
|
|
4
4
|
const Worker_1 = require("./Worker");
|
|
5
5
|
Object.defineProperty(exports, "Worker", { enumerable: true, get: function () { return Worker_1.Worker; } });
|
|
6
6
|
const FileSystem_1 = require("./FileSystem");
|
|
7
7
|
Object.defineProperty(exports, "FileSystem", { enumerable: true, get: function () { return FileSystem_1.FileSystem; } });
|
|
8
|
+
const ModeEnum_1 = require("./types/ModeEnum");
|
|
9
|
+
Object.defineProperty(exports, "ModeEnum", { enumerable: true, get: function () { return ModeEnum_1.ModeEnum; } });
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
export declare const MODE_CLI = "cli";
|
|
2
|
+
export declare const MODE_QUEUE = "queue";
|
|
3
|
+
export declare const MODE_TEST = "test";
|
|
4
|
+
export interface HandlerParameters {
|
|
5
|
+
mode: typeof MODE_QUEUE | typeof MODE_CLI | typeof MODE_TEST;
|
|
6
|
+
topic?: string;
|
|
7
|
+
config?: {};
|
|
8
|
+
}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.ModeEnum = void 0;
|
|
4
|
+
var ModeEnum;
|
|
5
|
+
(function (ModeEnum) {
|
|
6
|
+
ModeEnum["MODE_CLI"] = "cli";
|
|
7
|
+
ModeEnum["MODE_QUEUE"] = "queue";
|
|
8
|
+
ModeEnum["MODE_TEST"] = "test";
|
|
9
|
+
})(ModeEnum || (exports.ModeEnum = ModeEnum = {}));
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.ModeEnum = void 0;
|
|
4
|
+
var ModeEnum;
|
|
5
|
+
(function (ModeEnum) {
|
|
6
|
+
ModeEnum["MODE_CLI"] = "cli";
|
|
7
|
+
ModeEnum["MODE_QUEUE"] = "queue";
|
|
8
|
+
ModeEnum["MODE_TEST"] = "test";
|
|
9
|
+
})(ModeEnum || (exports.ModeEnum = ModeEnum = {}));
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@quatrain/worker",
|
|
3
|
-
"version": "1.1.
|
|
3
|
+
"version": "1.1.22",
|
|
4
4
|
"description": "Container Worker helpers",
|
|
5
5
|
"main": "lib/index.js",
|
|
6
6
|
"types": "lib/index.d.ts",
|
|
@@ -25,7 +25,8 @@
|
|
|
25
25
|
"typescript": "^5.1.5"
|
|
26
26
|
},
|
|
27
27
|
"dependencies": {
|
|
28
|
-
"@quatrain/core": "^1.1.
|
|
28
|
+
"@quatrain/core": "^1.1.19",
|
|
29
|
+
"@quatrain/queue": "^1.1.15",
|
|
29
30
|
"axios": "^1.7.7",
|
|
30
31
|
"fluent-ffmpeg": "^2.1.2",
|
|
31
32
|
"fs-extra": "^11.2.0",
|