Commit 4bef626e Harvey

no message

1 个父辈 6471b6b5
...@@ -5,11 +5,12 @@ const job_handlers = new Map(); ...@@ -5,11 +5,12 @@ const job_handlers = new Map();
exports.job_handlers = job_handlers; exports.job_handlers = job_handlers;
const common_1 = require("../libs/common"); const common_1 = require("../libs/common");
async function demoJobHandler(jobLogger, jobParams, context) { async function demoJobHandler(jobLogger, jobParams, context) {
jobLogger.debug('params: %o, context: %o', jobParams, context); // jobLogger.debug('params: %o, context: %o', jobParams, context)
for (let i = 1; i < 10; i++) { for (let i = 1; i < 10; i++) {
await (0, common_1.sleep)(1000); await (0, common_1.sleep)(1000);
jobLogger.debug(`${i}s passed`); // jobLogger.debug(`${i}s passed`)
} }
return { result: 'test 123' };
} }
job_handlers.set('demoJobHandler', demoJobHandler); job_handlers.set('demoJobHandler', demoJobHandler);
//# sourceMappingURL=index.js.map //# sourceMappingURL=index.js.map
\ No newline at end of file \ No newline at end of file
...@@ -201,14 +201,15 @@ class Executor { ...@@ -201,14 +201,15 @@ class Executor {
/** /**
* 任务回调:执行器执行完任务后,回调任务结果时使用 * 任务回调:执行器执行完任务后,回调任务结果时使用
* @param {Error|null} error 错误对象 * @param {Error|null} error 错误对象
* @param {{logId: number, result: any}} jobResult 任务结果 * @param {{logId: number, result: any ,use_time:number}} jobResult 任务结果
*/ */
async callback(error, { logId, result }) { async callback(error, { logId, result, use_time }) {
var handleMsg = JSON.stringify({ use_time, result, error: error && error.message });
return axios_1.default.post(`${this.scheduleCenterUrl}/api/callback`, [{ return axios_1.default.post(`${this.scheduleCenterUrl}/api/callback`, [{
logId, logId,
logDateTim: Date.now(), logDateTim: Date.now(),
handleCode: error ? 500 : 200, handleCode: error ? 500 : 200,
handleMsg: error ? error.message : (result ? JSON.stringify(result) : 'success') handleMsg
}], { }], {
headers: { headers: {
'XXL-JOB-ACCESS-TOKEN': this.accessToken, 'XXL-JOB-ACCESS-TOKEN': this.accessToken,
......
...@@ -64,6 +64,7 @@ class JobManager { ...@@ -64,6 +64,7 @@ class JobManager {
// const logFilePath = this.getLogFilePath(logDateTime); // const logFilePath = this.getLogFilePath(logDateTime);
// const jobLogger = logger(loggerNamespace, logFilePath); // const jobLogger = logger(loggerNamespace, logFilePath);
let result, timeoutTimer, error; let result, timeoutTimer, error;
let use_time = new Date().getTime();
try { try {
if (this.hasJob(jobId)) { if (this.hasJob(jobId)) {
throw new Error('已有相同任务正在运行'); throw new Error('已有相同任务正在运行');
...@@ -82,20 +83,22 @@ class JobManager { ...@@ -82,20 +83,22 @@ class JobManager {
logId, logId,
callback, callback,
timeoutTimer, timeoutTimer,
use_time: new Date().getTime() - use_time,
result: null, result: null,
error: new Error('任务执行超时') error: new Error('任务执行超时')
}), executorTimeout * 1000); }), executorTimeout * 1000);
} }
result = await jobHandler(jobParams, this.context); result = await jobHandler(jobParams, this.context);
} }
catch (error) { catch (err) {
error = error; error = err;
} }
await this.finishJob({ await this.finishJob({
jobId, jobId,
logId, logId,
callback, callback,
timeoutTimer, timeoutTimer,
use_time: new Date().getTime() - use_time,
result, result,
error error
}); });
...@@ -115,15 +118,16 @@ class JobManager { ...@@ -115,15 +118,16 @@ class JobManager {
* @param {number} logId * @param {number} logId
* @param {*} jobLogger * @param {*} jobLogger
* @param {function} callback * @param {function} callback
* @param {number} timeout * @param {number} timeoutTimer
* @param {number} use_time
* @param {*} result * @param {*} result
* @param {*} error * @param {*} error
* @return {Promise<void>} * @return {Promise<void>}
*/ */
async finishJob({ jobId, logId, callback, timeoutTimer, result, error }) { async finishJob({ jobId, logId, callback, timeoutTimer, use_time, result, error }) {
try { try {
timeoutTimer && clearTimeout(timeoutTimer); timeoutTimer && clearTimeout(timeoutTimer);
await callback(error, { logId, result }); await callback(error, { logId, use_time, result });
} }
catch (err) { catch (err) {
console.log(`finishJob error: ${err.message}`); console.log(`finishJob error: ${err.message}`);
......
...@@ -20,7 +20,8 @@ try { ...@@ -20,7 +20,8 @@ try {
port: 8088, port: 8088,
// 前端地址 // 前端地址
app_domain: "http://[2408:8352:602:1100:1c8a:80f5:da47:66ef]:8088/", // app_domain: "http://[2408:8352:602:1100:1c8a:80f5:da47:66ef]:8088/",
app_domain: "http://192.168.2.168:8080:8088/",
}; };
} }
......
...@@ -4,13 +4,14 @@ const job_handlers = new Map(); ...@@ -4,13 +4,14 @@ const job_handlers = new Map();
import { sleep } from '../libs/common' import { sleep } from '../libs/common'
async function demoJobHandler(jobLogger, jobParams, context) { async function demoJobHandler(jobLogger, jobParams, context) {
jobLogger.debug('params: %o, context: %o', jobParams, context) // jobLogger.debug('params: %o, context: %o', jobParams, context)
for (let i = 1; i < 10; i++) { for (let i = 1; i < 10; i++) {
await sleep(1000) await sleep(1000)
jobLogger.debug(`${i}s passed`) // jobLogger.debug(`${i}s passed`)
} }
return { result: 'test 123' }
} }
job_handlers.set('demoJobHandler', demoJobHandler) job_handlers.set('demoJobHandler', demoJobHandler)
......
...@@ -238,16 +238,18 @@ export class Executor { ...@@ -238,16 +238,18 @@ export class Executor {
/** /**
* 任务回调:执行器执行完任务后,回调任务结果时使用 * 任务回调:执行器执行完任务后,回调任务结果时使用
* @param {Error|null} error 错误对象 * @param {Error|null} error 错误对象
* @param {{logId: number, result: any}} jobResult 任务结果 * @param {{logId: number, result: any ,use_time:number}} jobResult 任务结果
*/ */
async callback(error, { logId, result }) { async callback(error, { logId, result, use_time }) {
var handleMsg: any = JSON.stringify({ use_time, result, error: error && error.message })
return axios.post( return axios.post(
`${this.scheduleCenterUrl}/api/callback`, `${this.scheduleCenterUrl}/api/callback`,
[{ [{
logId, logId,
logDateTim: Date.now(), logDateTim: Date.now(),
handleCode: error ? 500 : 200, handleCode: error ? 500 : 200,
handleMsg: error ? error.message : (result ? JSON.stringify(result) : 'success') handleMsg
}], }],
{ {
headers: { headers: {
......
...@@ -73,6 +73,7 @@ export class JobManager { ...@@ -73,6 +73,7 @@ export class JobManager {
let result, timeoutTimer, error let result, timeoutTimer, error
let use_time = new Date().getTime()
try { try {
...@@ -95,6 +96,7 @@ export class JobManager { ...@@ -95,6 +96,7 @@ export class JobManager {
logId, logId,
callback, callback,
timeoutTimer, timeoutTimer,
use_time: new Date().getTime() - use_time,
result: null, result: null,
error: new Error('任务执行超时') error: new Error('任务执行超时')
}), }),
...@@ -102,17 +104,18 @@ export class JobManager { ...@@ -102,17 +104,18 @@ export class JobManager {
); );
} }
result = await jobHandler(jobParams, this.context); result = await jobHandler(jobParams, this.context);
} catch (error) { } catch (err) {
error = error error = err
} }
await this.finishJob({ await this.finishJob({
jobId, jobId,
logId, logId,
callback, callback,
timeoutTimer, timeoutTimer,
use_time: new Date().getTime() - use_time,
result, result,
error error
}); });
...@@ -136,16 +139,17 @@ export class JobManager { ...@@ -136,16 +139,17 @@ export class JobManager {
* @param {number} logId * @param {number} logId
* @param {*} jobLogger * @param {*} jobLogger
* @param {function} callback * @param {function} callback
* @param {number} timeout * @param {number} timeoutTimer
* @param {number} use_time
* @param {*} result * @param {*} result
* @param {*} error * @param {*} error
* @return {Promise<void>} * @return {Promise<void>}
*/ */
async finishJob({ jobId, logId, callback, timeoutTimer, result, error }) { async finishJob({ jobId, logId, callback, timeoutTimer, use_time, result, error }) {
try { try {
timeoutTimer && clearTimeout(timeoutTimer) timeoutTimer && clearTimeout(timeoutTimer)
await callback(error, { logId, result }) await callback(error, { logId, use_time, result })
} catch (err) { } catch (err) {
console.log(`finishJob error: ${err.message}`) console.log(`finishJob error: ${err.message}`)
......
支持 Markdown 格式
你添加了 0 到此讨论。请谨慎行事。
Finish editing this message first!