work-dispatcher 1.5.4 → 1.6.1

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/dist/index.d.ts CHANGED
@@ -11,4 +11,5 @@ export { Feature, FEATURE_STATUS } from './work/featureClass.js';
11
11
  export { addFeaturesToQ, terminate, resetQ, addEventToList, getCurrentQ, getPastQ, getCurrentFeature, startWorking, setCurrentlyWorkingOn, currentlyWorkingOn, cancelFeatureRequested, setFeatureResult, addToFeatureResult, skipCurrentlyWorkingFeature, } from './work/workQ.js';
12
12
  export { getHealth } from './work/health.js';
13
13
  export { init } from './server/init.js';
14
+ export { setRedisValue, getRedisValue, redisHasKey } from './server/redis.js';
14
15
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,oBAAoB,EAAE,MAAM,oBAAoB,CAAC;AAC1D,OAAO,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,IAAI,EAAE,KAAK,EAAE,MAAM,oBAAoB,CAAC;AACpE,OAAO,EAAE,KAAK,EAAE,SAAS,EAAE,OAAO,EAAE,SAAS,EAAE,UAAU,EAAE,YAAY,EAAE,aAAa,EAAE,OAAO,EAAE,MAAM,EAAE,KAAK,EAAE,EAAE,EAAE,MAAM,uBAAuB,CAAC;AAClJ,OAAO,EAAE,KAAK,EAAE,GAAG,EAAE,UAAU,EAAE,MAAM,wBAAwB,CAAC;AAChE,OAAO,EAAE,eAAe,EAAE,MAAM,uBAAuB,CAAC;AACxD,OAAO,EAAE,iBAAiB,EAAE,MAAM,yBAAyB,CAAC;AAC5D,OAAO,EAAE,MAAM,2BAA2B,CAAC;AAC3C,OAAO,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AACtD,OAAO,EAAE,QAAQ,EAAE,MAAM,uBAAuB,CAAC;AACjD,OAAO,EAAE,OAAO,EAAE,cAAc,EAAE,MAAM,wBAAwB,CAAC;AACjE,OAAO,EACL,cAAc,EACd,SAAS,EACT,MAAM,EACN,cAAc,EACd,WAAW,EACX,QAAQ,EACR,iBAAiB,EACjB,YAAY,EACZ,qBAAqB,EACrB,kBAAkB,EAClB,sBAAsB,EACtB,gBAAgB,EAChB,kBAAkB,EAClB,2BAA2B,GAC5B,MAAM,iBAAiB,CAAC;AACzB,OAAO,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAC;AAC7C,OAAO,EAAE,IAAI,EAAE,MAAM,kBAAkB,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,oBAAoB,EAAE,MAAM,oBAAoB,CAAC;AAC1D,OAAO,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,IAAI,EAAE,KAAK,EAAE,MAAM,oBAAoB,CAAC;AACpE,OAAO,EAAE,KAAK,EAAE,SAAS,EAAE,OAAO,EAAE,SAAS,EAAE,UAAU,EAAE,YAAY,EAAE,aAAa,EAAE,OAAO,EAAE,MAAM,EAAE,KAAK,EAAE,EAAE,EAAE,MAAM,uBAAuB,CAAC;AAClJ,OAAO,EAAE,KAAK,EAAE,GAAG,EAAE,UAAU,EAAE,MAAM,wBAAwB,CAAC;AAChE,OAAO,EAAE,eAAe,EAAE,MAAM,uBAAuB,CAAC;AACxD,OAAO,EAAE,iBAAiB,EAAE,MAAM,yBAAyB,CAAC;AAC5D,OAAO,EAAE,MAAM,2BAA2B,CAAC;AAC3C,OAAO,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AACtD,OAAO,EAAE,QAAQ,EAAE,MAAM,uBAAuB,CAAC;AACjD,OAAO,EAAE,OAAO,EAAE,cAAc,EAAE,MAAM,wBAAwB,CAAC;AACjE,OAAO,EACL,cAAc,EACd,SAAS,EACT,MAAM,EACN,cAAc,EACd,WAAW,EACX,QAAQ,EACR,iBAAiB,EACjB,YAAY,EACZ,qBAAqB,EACrB,kBAAkB,EAClB,sBAAsB,EACtB,gBAAgB,EAChB,kBAAkB,EAClB,2BAA2B,GAC5B,MAAM,iBAAiB,CAAC;AACzB,OAAO,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAC;AAC7C,OAAO,EAAE,IAAI,EAAE,MAAM,kBAAkB,CAAC;AACxC,OAAO,EAAE,aAAa,EAAE,aAAa,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC"}
package/dist/index.js CHANGED
@@ -11,4 +11,5 @@ export { Feature, FEATURE_STATUS } from './work/featureClass.js';
11
11
  export { addFeaturesToQ, terminate, resetQ, addEventToList, getCurrentQ, getPastQ, getCurrentFeature, startWorking, setCurrentlyWorkingOn, currentlyWorkingOn, cancelFeatureRequested, setFeatureResult, addToFeatureResult, skipCurrentlyWorkingFeature, } from './work/workQ.js';
12
12
  export { getHealth } from './work/health.js';
13
13
  export { init } from './server/init.js';
14
+ export { setRedisValue, getRedisValue, redisHasKey } from './server/redis.js';
14
15
  //# sourceMappingURL=index.js.map
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,oBAAoB,EAAE,MAAM,oBAAoB,CAAC;AAC1D,OAAO,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,IAAI,EAAE,KAAK,EAAE,MAAM,oBAAoB,CAAC;AACpE,OAAO,EAAE,KAAK,EAAE,SAAS,EAAE,OAAO,EAAE,SAAS,EAAE,UAAU,EAAE,YAAY,EAAE,aAAa,EAAE,OAAO,EAAE,MAAM,EAAE,KAAK,EAAE,EAAE,EAAE,MAAM,uBAAuB,CAAC;AAClJ,OAAO,EAAE,KAAK,EAAE,GAAG,EAAE,UAAU,EAAE,MAAM,wBAAwB,CAAC;AAChE,OAAO,EAAE,eAAe,EAAE,MAAM,uBAAuB,CAAC;AACxD,OAAO,EAAE,iBAAiB,EAAE,MAAM,yBAAyB,CAAC;AAC5D,OAAO,EAAE,MAAM,2BAA2B,CAAC;AAC3C,OAAO,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AACtD,OAAO,EAAE,QAAQ,EAAE,MAAM,uBAAuB,CAAC;AACjD,OAAO,EAAE,OAAO,EAAE,cAAc,EAAE,MAAM,wBAAwB,CAAC;AACjE,OAAO,EACL,cAAc,EACd,SAAS,EACT,MAAM,EACN,cAAc,EACd,WAAW,EACX,QAAQ,EACR,iBAAiB,EACjB,YAAY,EACZ,qBAAqB,EACrB,kBAAkB,EAClB,sBAAsB,EACtB,gBAAgB,EAChB,kBAAkB,EAClB,2BAA2B,GAC5B,MAAM,iBAAiB,CAAC;AACzB,OAAO,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAC;AAC7C,OAAO,EAAE,IAAI,EAAE,MAAM,kBAAkB,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,oBAAoB,EAAE,MAAM,oBAAoB,CAAC;AAC1D,OAAO,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,IAAI,EAAE,KAAK,EAAE,MAAM,oBAAoB,CAAC;AACpE,OAAO,EAAE,KAAK,EAAE,SAAS,EAAE,OAAO,EAAE,SAAS,EAAE,UAAU,EAAE,YAAY,EAAE,aAAa,EAAE,OAAO,EAAE,MAAM,EAAE,KAAK,EAAE,EAAE,EAAE,MAAM,uBAAuB,CAAC;AAClJ,OAAO,EAAE,KAAK,EAAE,GAAG,EAAE,UAAU,EAAE,MAAM,wBAAwB,CAAC;AAChE,OAAO,EAAE,eAAe,EAAE,MAAM,uBAAuB,CAAC;AACxD,OAAO,EAAE,iBAAiB,EAAE,MAAM,yBAAyB,CAAC;AAC5D,OAAO,EAAE,MAAM,2BAA2B,CAAC;AAC3C,OAAO,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AACtD,OAAO,EAAE,QAAQ,EAAE,MAAM,uBAAuB,CAAC;AACjD,OAAO,EAAE,OAAO,EAAE,cAAc,EAAE,MAAM,wBAAwB,CAAC;AACjE,OAAO,EACL,cAAc,EACd,SAAS,EACT,MAAM,EACN,cAAc,EACd,WAAW,EACX,QAAQ,EACR,iBAAiB,EACjB,YAAY,EACZ,qBAAqB,EACrB,kBAAkB,EAClB,sBAAsB,EACtB,gBAAgB,EAChB,kBAAkB,EAClB,2BAA2B,GAC5B,MAAM,iBAAiB,CAAC;AACzB,OAAO,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAC;AAC7C,OAAO,EAAE,IAAI,EAAE,MAAM,kBAAkB,CAAC;AACxC,OAAO,EAAE,aAAa,EAAE,aAAa,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"init.d.ts","sourceRoot":"","sources":["../../src/server/init.ts"],"names":[],"mappings":"AASA,OAAO,EAAE,cAAc,EAAE,MAAM,gCAAgC,CAAC;AAgBhE,wBAAgB,IAAI,CAAC,QAAQ,EAAE,GAAG,EAAE,cAAc,EAAE,cAAc,EAAE,eAAe,EAAE,MAAM,EAAE,YAAY,EAAE,MAAM,QA8GhH"}
1
+ {"version":3,"file":"init.d.ts","sourceRoot":"","sources":["../../src/server/init.ts"],"names":[],"mappings":"AASA,OAAO,EAAE,cAAc,EAAE,MAAM,gCAAgC,CAAC;AAiBhE,wBAAgB,IAAI,CAAC,QAAQ,EAAE,GAAG,EAAE,cAAc,EAAE,cAAc,EAAE,eAAe,EAAE,MAAM,EAAE,YAAY,EAAE,MAAM,QAiHhH"}
@@ -8,6 +8,7 @@ import { dispatcherConfig } from '../config/config.js';
8
8
  import { router } from './router.js';
9
9
  import { FeatureCatalog } from '../work/featureCatalogClass.js';
10
10
  import { startPolling, stopPolling } from './mqReceiver.js';
11
+ import { connectRedis, disconnectRedis } from './redis.js';
11
12
  async function doNothing() {
12
13
  // intentionally empty
13
14
  }
@@ -47,6 +48,7 @@ export function init(handlers, featureCatalog, softwareVersion, softwareName) {
47
48
  info('WORK-DISPATCHER', 'Running in CI test mode, not starting server or cron jobs.');
48
49
  process.exit(0);
49
50
  }
51
+ connectRedis();
50
52
  const app = express();
51
53
  app.disable('x-powered-by');
52
54
  app.use(cors());
@@ -101,6 +103,7 @@ export function init(handlers, featureCatalog, softwareVersion, softwareName) {
101
103
  });
102
104
  process.on('SIGTERM', async () => {
103
105
  warn('MAIN', 'SIGTERM received');
106
+ await disconnectRedis();
104
107
  cronJobDaily.stop();
105
108
  cronJobHourly.stop();
106
109
  cronJobMin15.stop();
@@ -1 +1 @@
1
- {"version":3,"file":"init.js","sourceRoot":"","sources":["../../src/server/init.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"init.js","sourceRoot":"","sources":["../../src/server/init.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,7 @@
1
+ export declare function connectRedis(): void;
2
+ export declare function disconnectRedis(): Promise<void>;
3
+ export declare function setRedisValue(folder: string, key: string, value: any, expirationSeconds?: number): Promise<void>;
4
+ export declare function getRedisValue(folder: string, key: string): Promise<any | null>;
5
+ export declare function redisHasKey(folder: string, key: string): Promise<boolean>;
6
+ export declare function deleteRedisKey(folder: string, key: string): Promise<void>;
7
+ //# sourceMappingURL=redis.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"redis.d.ts","sourceRoot":"","sources":["../../src/server/redis.ts"],"names":[],"mappings":"AAWA,wBAAgB,YAAY,SAM3B;AAED,wBAAsB,eAAe,kBAWpC;AAED,wBAAsB,aAAa,CAAC,MAAM,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,GAAG,EAAE,iBAAiB,CAAC,EAAE,MAAM,iBAGtG;AAED,wBAAsB,aAAa,CAAC,MAAM,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,GAAG,GAAG,IAAI,CAAC,CAWpF;AAED,wBAAsB,WAAW,CAAC,MAAM,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,CAG/E;AAED,wBAAsB,cAAc,CAAC,MAAM,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,iBAG/D"}
@@ -0,0 +1,54 @@
1
+ import { createClient } from 'redis';
2
+ import { debug, error, info } from '../utils/logging.js';
3
+ import { dispatcherConfig } from '../config/config.js';
4
+ const REDIS_URL = 'nas.auch.ovh:30059';
5
+ const REDIS_PASSWORD = 'muftus-Rydjy7-rizruv';
6
+ const redisClient = createClient({
7
+ url: `redis://default:${REDIS_PASSWORD}@${REDIS_URL}`,
8
+ });
9
+ export function connectRedis() {
10
+ redisClient
11
+ //
12
+ .on('error', (err) => error('REDIS', 'Redis Client Error', err))
13
+ .connect();
14
+ info('REDIS', 'Connected to Redis at', REDIS_URL);
15
+ }
16
+ export async function disconnectRedis() {
17
+ debug('REDIS', 'Disconnecting from Redis');
18
+ try {
19
+ if (redisClient.isOpen) {
20
+ await redisClient.close();
21
+ redisClient.destroy();
22
+ }
23
+ }
24
+ catch (err) {
25
+ error('REDIS', 'Error disconnecting from Redis', err);
26
+ }
27
+ info('REDIS', 'Disconnected from Redis');
28
+ }
29
+ export async function setRedisValue(folder, key, value, expirationSeconds) {
30
+ const keyName = dispatcherConfig.softwareName + ':' + folder + ':' + key;
31
+ await redisClient.set(keyName, JSON.stringify(value), { EX: expirationSeconds || 86400 }); // Default expiration of 1 day
32
+ }
33
+ export async function getRedisValue(folder, key) {
34
+ const data = await redisClient.get(dispatcherConfig.softwareName + ':' + folder + ':' + key);
35
+ if (data) {
36
+ try {
37
+ return JSON.parse(data);
38
+ }
39
+ catch (err) {
40
+ error('REDIS', 'Error parsing Redis value for key', key, err);
41
+ return null;
42
+ }
43
+ }
44
+ return null;
45
+ }
46
+ export async function redisHasKey(folder, key) {
47
+ const keyName = dispatcherConfig.softwareName + ':' + folder + ':' + key;
48
+ return (await redisClient.exists(keyName)) === 1;
49
+ }
50
+ export async function deleteRedisKey(folder, key) {
51
+ const keyName = dispatcherConfig.softwareName + ':' + folder + ':' + key;
52
+ await redisClient.del(keyName);
53
+ }
54
+ //# sourceMappingURL=redis.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"redis.js","sourceRoot":"","sources":["../../src/server/redis.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,OAAO,CAAC;AACrC,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,IAAI,EAAE,MAAM,qBAAqB,CAAC;AACzD,OAAO,EAAE,gBAAgB,EAAE,MAAM,qBAAqB,CAAC;AAEvD,MAAM,SAAS,GAAG,oBAAoB,CAAC;AACvC,MAAM,cAAc,GAAG,sBAAsB,CAAC;AAE9C,MAAM,WAAW,GAAG,YAAY,CAAC;IAC/B,GAAG,EAAE,mBAAmB,cAAc,IAAI,SAAS,EAAE;CACtD,CAAC,CAAC;AAEH,MAAM,UAAU,YAAY;IAC1B,WAAW;QACT,EAAE;SACD,EAAE,CAAC,OAAO,EAAE,CAAC,GAAG,EAAE,EAAE,CAAC,KAAK,CAAC,OAAO,EAAE,oBAAoB,EAAE,GAAG,CAAC,CAAC;SAC/D,OAAO,EAAE,CAAC;IACb,IAAI,CAAC,OAAO,EAAE,uBAAuB,EAAE,SAAS,CAAC,CAAC;AACpD,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,eAAe;IACnC,KAAK,CAAC,OAAO,EAAE,0BAA0B,CAAC,CAAC;IAC3C,IAAI,CAAC;QACH,IAAI,WAAW,CAAC,MAAM,EAAE,CAAC;YACvB,MAAM,WAAW,CAAC,KAAK,EAAE,CAAC;YAC1B,WAAW,CAAC,OAAO,EAAE,CAAC;QACxB,CAAC;IACH,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,KAAK,CAAC,OAAO,EAAE,gCAAgC,EAAE,GAAG,CAAC,CAAC;IACxD,CAAC;IACD,IAAI,CAAC,OAAO,EAAE,yBAAyB,CAAC,CAAC;AAC3C,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,aAAa,CAAC,MAAc,EAAE,GAAW,EAAE,KAAU,EAAE,iBAA0B;IACrG,MAAM,OAAO,GAAG,gBAAgB,CAAC,YAAY,GAAG,GAAG,GAAG,MAAM,GAAG,GAAG,GAAG,GAAG,CAAC;IACzE,MAAM,WAAW,CAAC,GAAG,CAAC,OAAO,EAAE,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,EAAE,EAAE,EAAE,EAAE,iBAAiB,IAAI,KAAK,EAAE,CAAC,CAAC,CAAC,8BAA8B;AAC3H,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,aAAa,CAAC,MAAc,EAAE,GAAW;IAC7D,MAAM,IAAI,GAAG,MAAM,WAAW,CAAC,GAAG,CAAC,gBAAgB,CAAC,YAAY,GAAG,GAAG,GAAG,MAAM,GAAG,GAAG,GAAG,GAAG,CAAC,CAAC;IAC7F,IAAI,IAAI,EAAE,CAAC;QACT,IAAI,CAAC;YACH,OAAO,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;QAC1B,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,KAAK,CAAC,OAAO,EAAE,mCAAmC,EAAE,GAAG,EAAE,GAAG,CAAC,CAAC;YAC9D,OAAO,IAAI,CAAC;QACd,CAAC;IACH,CAAC;IACD,OAAO,IAAI,CAAC;AACd,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,WAAW,CAAC,MAAc,EAAE,GAAW;IAC3D,MAAM,OAAO,GAAG,gBAAgB,CAAC,YAAY,GAAG,GAAG,GAAG,MAAM,GAAG,GAAG,GAAG,GAAG,CAAC;IACzE,OAAO,CAAC,MAAM,WAAW,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,KAAK,CAAC,CAAC;AACnD,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,cAAc,CAAC,MAAc,EAAE,GAAW;IAC9D,MAAM,OAAO,GAAG,gBAAgB,CAAC,YAAY,GAAG,GAAG,GAAG,MAAM,GAAG,GAAG,GAAG,GAAG,CAAC;IACzE,MAAM,WAAW,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;AACjC,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "work-dispatcher",
3
- "version": "1.5.4",
3
+ "version": "1.6.1",
4
4
  "description": "Typescript library to handle task or work scheduling",
5
5
  "keywords": [
6
6
  "typescript"
@@ -20,8 +20,8 @@
20
20
  "types": "dist/index.d.ts",
21
21
  "scripts": {
22
22
  "build": "tsc",
23
- "test": "NODE_ENV=TEST vitest",
24
- "coverage": "NODE_ENV=TEST vitest --coverage",
23
+ "test": "NODE_ENV=TEST vitest --run",
24
+ "coverage": "NODE_ENV=TEST vitest --run --coverage",
25
25
  "dummy": "tsc; node dist/dummyStart.js",
26
26
  "release": "semantic-release"
27
27
  },
@@ -34,7 +34,7 @@
34
34
  "@types/cors": "^2.8.19",
35
35
  "@types/express": "^5.0.6",
36
36
  "@types/express-session": "^1.18.2",
37
- "@types/node": "^25.0.8",
37
+ "@types/node": "^25.3.3",
38
38
  "@vitest/coverage-v8": "^4.0.18",
39
39
  "semantic-release": "^25.0.2",
40
40
  "typescript": "^5.9.3",
@@ -47,6 +47,7 @@
47
47
  "express": "^5.2.1",
48
48
  "express-session": "^1.18.2",
49
49
  "keycloak-connect": "^26.1.1",
50
- "node-cron": "^4.2.1"
50
+ "node-cron": "^4.2.1",
51
+ "redis": "^5.11.0"
51
52
  }
52
53
  }