@volontariapp/workers 0.2.0 → 1.0.0-snap-5df3b58

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/CHANGELOG.md CHANGED
@@ -1,11 +1,24 @@
1
1
  # Changelog
2
2
 
3
+ ## 1.0.0
4
+
5
+ ### Major Changes
6
+
7
+ - workers server health check
8
+
3
9
  ## 0.2.0
4
10
 
5
11
  ### Minor Changes
6
12
 
7
13
  - Export job audit entities, models, repository, and status types from main package index
8
14
 
15
+ ## 0.1.2
16
+
17
+ ### Patch Changes
18
+
19
+ - Updated dependencies []:
20
+ - @volontariapp/messaging@1.2.0
21
+
9
22
  ## 0.1.1
10
23
 
11
24
  ### Patch Changes
@@ -0,0 +1,11 @@
1
+ import type { INestApplicationContext } from '@nestjs/common';
2
+ export declare class DiagnosticServer {
3
+ private readonly app;
4
+ private readonly port;
5
+ private readonly logger;
6
+ private server?;
7
+ constructor(app: INestApplicationContext, port: number);
8
+ start(): void;
9
+ close(): void;
10
+ }
11
+ //# sourceMappingURL=diagnostic-server.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"diagnostic-server.d.ts","sourceRoot":"","sources":["../../src/core/diagnostic-server.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,uBAAuB,EAAE,MAAM,gBAAgB,CAAC;AAQ9D,qBAAa,gBAAgB;IAKzB,OAAO,CAAC,QAAQ,CAAC,GAAG;IACpB,OAAO,CAAC,QAAQ,CAAC,IAAI;IALvB,OAAO,CAAC,QAAQ,CAAC,MAAM,CAA+C;IACtE,OAAO,CAAC,MAAM,CAAC,CAAS;gBAGL,GAAG,EAAE,uBAAuB,EAC5B,IAAI,EAAE,MAAM;IAGxB,KAAK,IAAI,IAAI;IAwDb,KAAK,IAAI,IAAI;CAMrB"}
@@ -0,0 +1,68 @@
1
+ import { createServer } from 'node:http';
2
+ import { PostgresProvider, RedisProvider } from '@volontariapp/bridge';
3
+ import { PostgresBridgeHealthProvider, RedisBridgeHealthProvider, } from '@volontariapp/health-check';
4
+ import { Logger } from '@volontariapp/logger';
5
+ export class DiagnosticServer {
6
+ app;
7
+ port;
8
+ logger = new Logger({ context: 'DiagnosticServer' });
9
+ server;
10
+ constructor(app, port) {
11
+ this.app = app;
12
+ this.port = port;
13
+ }
14
+ start() {
15
+ const dbProvider = this.app.get(PostgresProvider, { strict: false });
16
+ const redisProvider = this.app.get(RedisProvider, { strict: false });
17
+ const pgHealthProvider = new PostgresBridgeHealthProvider(dbProvider);
18
+ const redisHealthProvider = new RedisBridgeHealthProvider(redisProvider);
19
+ this.server = createServer((req, res) => {
20
+ void (async () => {
21
+ if (req.url === '/health' || req.url === '/') {
22
+ try {
23
+ const [pgHealth, redisHealth] = await Promise.all([
24
+ pgHealthProvider.health(),
25
+ redisHealthProvider.health(),
26
+ ]);
27
+ const pgOk = pgHealth.status === 'up';
28
+ const redisOk = redisHealth.status === 'up';
29
+ if (!pgOk || !redisOk) {
30
+ res.writeHead(503, { 'Content-Type': 'application/json' });
31
+ res.end(JSON.stringify({
32
+ status: 'unhealthy',
33
+ postgres: pgHealth.status,
34
+ redis: redisHealth.status,
35
+ }));
36
+ return;
37
+ }
38
+ res.writeHead(200, { 'Content-Type': 'application/json' });
39
+ res.end(JSON.stringify({
40
+ status: 'healthy',
41
+ worker: 'awake',
42
+ uptime: process.uptime(),
43
+ }));
44
+ }
45
+ catch (err) {
46
+ const errorMessage = err instanceof Error ? err.message : String(err);
47
+ res.writeHead(500, { 'Content-Type': 'application/json' });
48
+ res.end(JSON.stringify({ status: 'error', message: errorMessage }));
49
+ }
50
+ }
51
+ else {
52
+ res.writeHead(404, { 'Content-Type': 'application/json' });
53
+ res.end(JSON.stringify({ message: 'Not Found' }));
54
+ }
55
+ })();
56
+ });
57
+ this.server.listen(this.port, () => {
58
+ this.logger.info(`Diagnostic Health Check server listening on port ${String(this.port)}`);
59
+ });
60
+ }
61
+ close() {
62
+ if (this.server) {
63
+ this.server.close();
64
+ this.logger.info('Diagnostic Health Check server stopped.');
65
+ }
66
+ }
67
+ }
68
+ //# sourceMappingURL=diagnostic-server.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"diagnostic-server.js","sourceRoot":"","sources":["../../src/core/diagnostic-server.ts"],"names":[],"mappings":"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"}
package/dist/index.d.ts CHANGED
@@ -1,4 +1,5 @@
1
1
  export { BaseWorker } from './core/base.worker.js';
2
+ export { DiagnosticServer } from './core/diagnostic-server.js';
2
3
  export type { JobOf } from './types/index.js';
3
4
  export type { WorkerAppConfig, BullWorkerModuleConfig, BullConnectionConfig, BullDefaultJobOptions, } from './interfaces/index.js';
4
5
  export { createBullConfig } from './utils/index.js';
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,uBAAuB,CAAC;AACnD,YAAY,EAAE,KAAK,EAAE,MAAM,kBAAkB,CAAC;AAC9C,YAAY,EACV,eAAe,EACf,sBAAsB,EACtB,oBAAoB,EACpB,qBAAqB,GACtB,MAAM,uBAAuB,CAAC;AAC/B,OAAO,EAAE,gBAAgB,EAAE,MAAM,kBAAkB,CAAC;AACpD,cAAc,iBAAiB,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,uBAAuB,CAAC;AACnD,OAAO,EAAE,gBAAgB,EAAE,MAAM,6BAA6B,CAAC;AAC/D,YAAY,EAAE,KAAK,EAAE,MAAM,kBAAkB,CAAC;AAC9C,YAAY,EACV,eAAe,EACf,sBAAsB,EACtB,oBAAoB,EACpB,qBAAqB,GACtB,MAAM,uBAAuB,CAAC;AAC/B,OAAO,EAAE,gBAAgB,EAAE,MAAM,kBAAkB,CAAC;AACpD,cAAc,iBAAiB,CAAC"}
package/dist/index.js CHANGED
@@ -1,4 +1,5 @@
1
1
  export { BaseWorker } from './core/base.worker.js';
2
+ export { DiagnosticServer } from './core/diagnostic-server.js';
2
3
  export { createBullConfig } from './utils/index.js';
3
4
  export * from './data/index.js';
4
5
  //# 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,UAAU,EAAE,MAAM,uBAAuB,CAAC;AAQnD,OAAO,EAAE,gBAAgB,EAAE,MAAM,kBAAkB,CAAC;AACpD,cAAc,iBAAiB,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,uBAAuB,CAAC;AACnD,OAAO,EAAE,gBAAgB,EAAE,MAAM,6BAA6B,CAAC;AAQ/D,OAAO,EAAE,gBAAgB,EAAE,MAAM,kBAAkB,CAAC;AACpD,cAAc,iBAAiB,CAAC"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=diagnostic-server.unit.spec.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"diagnostic-server.unit.spec.d.ts","sourceRoot":"","sources":["../../../src/test/specs/diagnostic-server.unit.spec.ts"],"names":[],"mappings":""}
@@ -0,0 +1,117 @@
1
+ import { describe, it, expect, beforeAll, afterAll, jest } from '@jest/globals';
2
+ import http from 'node:http';
3
+ import { PostgresProvider, RedisProvider } from '@volontariapp/bridge';
4
+ import { PostgresBridgeHealthProvider, RedisBridgeHealthProvider, } from '@volontariapp/health-check';
5
+ import { createMock } from '@volontariapp/testing';
6
+ import { DiagnosticServer } from '../../core/diagnostic-server.js';
7
+ describe('DiagnosticServer — Unit', () => {
8
+ let appMock;
9
+ let dbProviderMock;
10
+ let redisProviderMock;
11
+ let diagnosticServer;
12
+ const PORT = 4999;
13
+ beforeAll(() => {
14
+ dbProviderMock = createMock();
15
+ redisProviderMock = createMock();
16
+ appMock = createMock();
17
+ jest.spyOn(appMock, 'get').mockImplementation((token) => {
18
+ if (token === PostgresProvider)
19
+ return dbProviderMock;
20
+ if (token === RedisProvider)
21
+ return redisProviderMock;
22
+ throw new Error(`Token ${String(token)} not supported in mock`);
23
+ });
24
+ diagnosticServer = new DiagnosticServer(appMock, PORT);
25
+ diagnosticServer.start();
26
+ });
27
+ afterAll(() => {
28
+ diagnosticServer.close();
29
+ });
30
+ const queryHealth = () => {
31
+ return new Promise((resolve, reject) => {
32
+ http
33
+ .get(`http://localhost:${String(PORT)}/health`, (res) => {
34
+ let data = '';
35
+ res.on('data', (chunk) => {
36
+ data += chunk;
37
+ });
38
+ res.on('end', () => {
39
+ resolve({
40
+ status: res.statusCode ?? 0,
41
+ body: JSON.parse(data),
42
+ });
43
+ });
44
+ })
45
+ .on('error', reject);
46
+ });
47
+ };
48
+ it('devrait retourner 200 OK quand Postgres et Redis sont en bonne santé (up)', async () => {
49
+ jest.spyOn(PostgresBridgeHealthProvider.prototype, 'health').mockResolvedValue({
50
+ name: 'postgres',
51
+ status: 'up',
52
+ message: 'Postgres is healthy',
53
+ });
54
+ jest.spyOn(RedisBridgeHealthProvider.prototype, 'health').mockResolvedValue({
55
+ name: 'redis',
56
+ status: 'up',
57
+ message: 'Redis is healthy',
58
+ });
59
+ const res = await queryHealth();
60
+ expect(res.status).toBe(200);
61
+ expect(res.body).toEqual({
62
+ status: 'healthy',
63
+ worker: 'awake',
64
+ uptime: expect.any(Number),
65
+ });
66
+ });
67
+ it('devrait retourner 503 Service Unavailable quand Postgres est en panne (down)', async () => {
68
+ jest.spyOn(PostgresBridgeHealthProvider.prototype, 'health').mockResolvedValue({
69
+ name: 'postgres',
70
+ status: 'down',
71
+ message: 'Postgres is not connected',
72
+ });
73
+ jest.spyOn(RedisBridgeHealthProvider.prototype, 'health').mockResolvedValue({
74
+ name: 'redis',
75
+ status: 'up',
76
+ message: 'Redis is healthy',
77
+ });
78
+ const res = await queryHealth();
79
+ expect(res.status).toBe(503);
80
+ expect(res.body).toEqual({
81
+ status: 'unhealthy',
82
+ postgres: 'down',
83
+ redis: 'up',
84
+ });
85
+ });
86
+ it('devrait retourner 503 Service Unavailable quand Redis est en panne (down)', async () => {
87
+ jest.spyOn(PostgresBridgeHealthProvider.prototype, 'health').mockResolvedValue({
88
+ name: 'postgres',
89
+ status: 'up',
90
+ message: 'Postgres is healthy',
91
+ });
92
+ jest.spyOn(RedisBridgeHealthProvider.prototype, 'health').mockResolvedValue({
93
+ name: 'redis',
94
+ status: 'down',
95
+ message: 'Redis connection lost',
96
+ });
97
+ const res = await queryHealth();
98
+ expect(res.status).toBe(503);
99
+ expect(res.body).toEqual({
100
+ status: 'unhealthy',
101
+ postgres: 'up',
102
+ redis: 'down',
103
+ });
104
+ });
105
+ it('devrait retourner 500 Internal Server Error si le healthcheck lève une exception', async () => {
106
+ jest
107
+ .spyOn(PostgresBridgeHealthProvider.prototype, 'health')
108
+ .mockRejectedValue(new Error('Accès réseau refusé'));
109
+ const res = await queryHealth();
110
+ expect(res.status).toBe(500);
111
+ expect(res.body).toEqual({
112
+ status: 'error',
113
+ message: 'Accès réseau refusé',
114
+ });
115
+ });
116
+ });
117
+ //# sourceMappingURL=diagnostic-server.unit.spec.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"diagnostic-server.unit.spec.js","sourceRoot":"","sources":["../../../src/test/specs/diagnostic-server.unit.spec.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@volontariapp/workers",
3
- "version": "0.2.0",
3
+ "version": "1.0.0-snap-5df3b58",
4
4
  "publishConfig": {
5
5
  "access": "public",
6
6
  "provenance": true
@@ -39,9 +39,11 @@
39
39
  "db:down": "docker compose -f ../../ci-tools/testing/docker-compose.yml --profile test stop test-db redis"
40
40
  },
41
41
  "dependencies": {
42
+ "@volontariapp/bridge": "1.0.2",
42
43
  "@volontariapp/config": "3.1.0",
44
+ "@volontariapp/health-check": "1.0.2",
43
45
  "@volontariapp/logger": "0.2.4",
44
- "@volontariapp/messaging": "1.1.2"
46
+ "@volontariapp/messaging": "1.2.0"
45
47
  },
46
48
  "peerDependencies": {
47
49
  "@nestjs/bullmq": "^11.0.0",