Commit 4bef626e Harvey

no message

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