@constructive-io/knative-job-server 0.3.24 → 0.4.0
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 +8 -0
- package/dist/index.js +9 -7
- package/dist/run.js +3 -2
- package/package.json +5 -4
- package/src/index.ts +11 -10
- package/src/run.ts +3 -2
package/CHANGELOG.md
CHANGED
|
@@ -3,6 +3,14 @@
|
|
|
3
3
|
All notable changes to this project will be documented in this file.
|
|
4
4
|
See [Conventional Commits](https://conventionalcommits.org) for commit guidelines.
|
|
5
5
|
|
|
6
|
+
# [0.4.0](https://github.com/constructive-io/jobs/compare/@constructive-io/knative-job-server@0.3.25...@constructive-io/knative-job-server@0.4.0) (2026-01-18)
|
|
7
|
+
|
|
8
|
+
**Note:** Version bump only for package @constructive-io/knative-job-server
|
|
9
|
+
|
|
10
|
+
## [0.3.25](https://github.com/constructive-io/jobs/compare/@constructive-io/knative-job-server@0.3.24...@constructive-io/knative-job-server@0.3.25) (2026-01-18)
|
|
11
|
+
|
|
12
|
+
**Note:** Version bump only for package @constructive-io/knative-job-server
|
|
13
|
+
|
|
6
14
|
## [0.3.24](https://github.com/constructive-io/jobs/compare/@constructive-io/knative-job-server@0.3.23...@constructive-io/knative-job-server@0.3.24) (2026-01-09)
|
|
7
15
|
|
|
8
16
|
**Note:** Version bump only for package @constructive-io/knative-job-server
|
package/dist/index.js
CHANGED
|
@@ -40,6 +40,8 @@ const express_1 = __importDefault(require("express"));
|
|
|
40
40
|
const body_parser_1 = __importDefault(require("body-parser"));
|
|
41
41
|
const jobs = __importStar(require("@constructive-io/job-utils"));
|
|
42
42
|
const job_pg_1 = __importDefault(require("@constructive-io/job-pg"));
|
|
43
|
+
const logger_1 = require("@pgpmjs/logger");
|
|
44
|
+
const logger = (0, logger_1.createLogger)('knative-job-server');
|
|
43
45
|
exports.default = (pgPool = job_pg_1.default.getPool()) => {
|
|
44
46
|
const app = (0, express_1.default)();
|
|
45
47
|
app.use(body_parser_1.default.json());
|
|
@@ -59,11 +61,11 @@ exports.default = (pgPool = job_pg_1.default.getPool()) => {
|
|
|
59
61
|
const workerId = req.get('X-Worker-Id');
|
|
60
62
|
const jobIdHeader = req.get('X-Job-Id');
|
|
61
63
|
if (!workerId || !jobIdHeader) {
|
|
62
|
-
|
|
64
|
+
logger.warn('missing worker/job headers on completion callback', { workerId, jobIdHeader });
|
|
63
65
|
res.status(400).json({ error: 'Missing X-Worker-Id or X-Job-Id header' });
|
|
64
66
|
return;
|
|
65
67
|
}
|
|
66
|
-
|
|
68
|
+
logger.info(`Completed task ${jobIdHeader} with success`);
|
|
67
69
|
await jobs.completeJob(client, { workerId, jobId: jobIdHeader });
|
|
68
70
|
res
|
|
69
71
|
.set({
|
|
@@ -76,12 +78,12 @@ exports.default = (pgPool = job_pg_1.default.getPool()) => {
|
|
|
76
78
|
const workerId = req.get('X-Worker-Id');
|
|
77
79
|
const jobIdHeader = req.get('X-Job-Id');
|
|
78
80
|
if (!workerId || !jobIdHeader) {
|
|
79
|
-
|
|
81
|
+
logger.warn('missing worker/job headers on failure callback', { workerId, jobIdHeader });
|
|
80
82
|
res.status(400).json({ error: 'Missing X-Worker-Id or X-Job-Id header' });
|
|
81
83
|
return;
|
|
82
84
|
}
|
|
83
85
|
const errorMessage = req.body.error || req.body.message || 'UNKNOWN_ERROR';
|
|
84
|
-
|
|
86
|
+
logger.error(`Failed task ${jobIdHeader} with error: \n${errorMessage}\n\n`);
|
|
85
87
|
await jobs.failJob(client, {
|
|
86
88
|
workerId,
|
|
87
89
|
jobId: jobIdHeader,
|
|
@@ -92,9 +94,9 @@ exports.default = (pgPool = job_pg_1.default.getPool()) => {
|
|
|
92
94
|
app.post('/callback', async (req, res, next) => {
|
|
93
95
|
const jobId = req.get('X-Job-Id');
|
|
94
96
|
if (typeof jobId === 'undefined') {
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
97
|
+
logger.warn('undefined JOB, what is this? healthcheck?');
|
|
98
|
+
logger.debug(req.url);
|
|
99
|
+
logger.debug(req.originalUrl);
|
|
98
100
|
return res.status(200).json('OK');
|
|
99
101
|
}
|
|
100
102
|
if (req.get('X-Job-Error') === 'true') {
|
package/dist/run.js
CHANGED
|
@@ -7,9 +7,10 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
|
7
7
|
const index_1 = __importDefault(require("./index"));
|
|
8
8
|
const job_pg_1 = __importDefault(require("@constructive-io/job-pg"));
|
|
9
9
|
const job_utils_1 = require("@constructive-io/job-utils");
|
|
10
|
+
const logger_1 = require("@pgpmjs/logger");
|
|
11
|
+
const logger = (0, logger_1.createLogger)('knative-job-server');
|
|
10
12
|
const pgPool = job_pg_1.default.getPool();
|
|
11
13
|
const port = (0, job_utils_1.getJobsCallbackPort)();
|
|
12
14
|
(0, index_1.default)(pgPool).listen(port, () => {
|
|
13
|
-
|
|
14
|
-
console.log(`listening ON ${port}`);
|
|
15
|
+
logger.info(`listening ON ${port}`);
|
|
15
16
|
});
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@constructive-io/knative-job-server",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.4.0",
|
|
4
4
|
"description": "knative job server",
|
|
5
5
|
"author": "Constructive <developers@constructive.io>",
|
|
6
6
|
"homepage": "https://github.com/constructive-io/jobs/tree/master/packages/knative-job-server#readme",
|
|
@@ -31,11 +31,12 @@
|
|
|
31
31
|
"url": "https://github.com/constructive-io/jobs/issues"
|
|
32
32
|
},
|
|
33
33
|
"dependencies": {
|
|
34
|
-
"@constructive-io/job-pg": "^0.
|
|
35
|
-
"@constructive-io/job-utils": "^0.
|
|
34
|
+
"@constructive-io/job-pg": "^0.4.0",
|
|
35
|
+
"@constructive-io/job-utils": "^0.6.0",
|
|
36
|
+
"@pgpmjs/logger": "^1.4.0",
|
|
36
37
|
"body-parser": "1.19.0",
|
|
37
38
|
"express": "5.2.1",
|
|
38
39
|
"pg": "8.16.3"
|
|
39
40
|
},
|
|
40
|
-
"gitHead": "
|
|
41
|
+
"gitHead": "481b3a50b4eec2da6b376c4cd1868065e1e28edb"
|
|
41
42
|
}
|
package/src/index.ts
CHANGED
|
@@ -3,6 +3,7 @@ import bodyParser from 'body-parser';
|
|
|
3
3
|
import type { Pool, PoolClient } from 'pg';
|
|
4
4
|
import * as jobs from '@constructive-io/job-utils';
|
|
5
5
|
import poolManager from '@constructive-io/job-pg';
|
|
6
|
+
import { createLogger } from '@pgpmjs/logger';
|
|
6
7
|
|
|
7
8
|
type JobRequestBody = {
|
|
8
9
|
message?: string;
|
|
@@ -34,6 +35,8 @@ type WithClientHandler = (
|
|
|
34
35
|
next: NextFn
|
|
35
36
|
) => Promise<void>;
|
|
36
37
|
|
|
38
|
+
const logger = createLogger('knative-job-server');
|
|
39
|
+
|
|
37
40
|
export default (pgPool: Pool = poolManager.getPool()) => {
|
|
38
41
|
const app = express();
|
|
39
42
|
app.use(bodyParser.json());
|
|
@@ -56,15 +59,14 @@ export default (pgPool: Pool = poolManager.getPool()) => {
|
|
|
56
59
|
const jobIdHeader = req.get('X-Job-Id');
|
|
57
60
|
|
|
58
61
|
if (!workerId || !jobIdHeader) {
|
|
59
|
-
|
|
60
|
-
'server: missing worker/job headers on completion callback',
|
|
62
|
+
logger.warn('missing worker/job headers on completion callback',
|
|
61
63
|
{ workerId, jobIdHeader }
|
|
62
64
|
);
|
|
63
65
|
res.status(400).json({ error: 'Missing X-Worker-Id or X-Job-Id header' });
|
|
64
66
|
return;
|
|
65
67
|
}
|
|
66
68
|
|
|
67
|
-
|
|
69
|
+
logger.info(`Completed task ${jobIdHeader} with success`);
|
|
68
70
|
await jobs.completeJob(client, { workerId, jobId: jobIdHeader });
|
|
69
71
|
|
|
70
72
|
res
|
|
@@ -80,8 +82,7 @@ export default (pgPool: Pool = poolManager.getPool()) => {
|
|
|
80
82
|
const jobIdHeader = req.get('X-Job-Id');
|
|
81
83
|
|
|
82
84
|
if (!workerId || !jobIdHeader) {
|
|
83
|
-
|
|
84
|
-
'server: missing worker/job headers on failure callback',
|
|
85
|
+
logger.warn('missing worker/job headers on failure callback',
|
|
85
86
|
{ workerId, jobIdHeader }
|
|
86
87
|
);
|
|
87
88
|
res.status(400).json({ error: 'Missing X-Worker-Id or X-Job-Id header' });
|
|
@@ -90,8 +91,8 @@ export default (pgPool: Pool = poolManager.getPool()) => {
|
|
|
90
91
|
|
|
91
92
|
const errorMessage = req.body.error || req.body.message || 'UNKNOWN_ERROR';
|
|
92
93
|
|
|
93
|
-
|
|
94
|
-
`
|
|
94
|
+
logger.error(
|
|
95
|
+
`Failed task ${jobIdHeader} with error: \n${errorMessage}\n\n`
|
|
95
96
|
);
|
|
96
97
|
|
|
97
98
|
await jobs.failJob(client, {
|
|
@@ -107,9 +108,9 @@ export default (pgPool: Pool = poolManager.getPool()) => {
|
|
|
107
108
|
const jobId = req.get('X-Job-Id');
|
|
108
109
|
|
|
109
110
|
if (typeof jobId === 'undefined') {
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
|
|
111
|
+
logger.warn('undefined JOB, what is this? healthcheck?');
|
|
112
|
+
logger.debug(req.url);
|
|
113
|
+
logger.debug(req.originalUrl);
|
|
113
114
|
return res.status(200).json('OK');
|
|
114
115
|
}
|
|
115
116
|
|
package/src/run.ts
CHANGED
|
@@ -3,11 +3,12 @@
|
|
|
3
3
|
import server from './index';
|
|
4
4
|
import poolManager from '@constructive-io/job-pg';
|
|
5
5
|
import { getJobsCallbackPort } from '@constructive-io/job-utils';
|
|
6
|
+
import { createLogger } from '@pgpmjs/logger';
|
|
6
7
|
|
|
8
|
+
const logger = createLogger('knative-job-server');
|
|
7
9
|
const pgPool = poolManager.getPool();
|
|
8
10
|
const port = getJobsCallbackPort();
|
|
9
11
|
|
|
10
12
|
server(pgPool).listen(port, () => {
|
|
11
|
-
|
|
12
|
-
console.log(`listening ON ${port}`);
|
|
13
|
+
logger.info(`listening ON ${port}`);
|
|
13
14
|
});
|