@ultipa-graph/ultipa-driver
Version:
NodeJS SDK for ultipa-server 5.2
136 lines • 5.61 kB
JavaScript
;
var __importDefault = (this && this.__importDefault) || function (mod) {
return (mod && mod.__esModule) ? mod : { "default": mod };
};
Object.defineProperty(exports, "__esModule", { value: true });
exports.type_util = void 0;
const _1 = require(".");
const types_1 = require("./types");
const moment_timezone_1 = __importDefault(require("moment-timezone"));
var type_util;
(function (type_util) {
function algoFormat(data) {
if (typeof data?.param == "string") {
data.param = JSON.parse(data.param || "{}");
}
let result_opt = +data.param.result_opt || 0;
data.result_opt = {
can_realtime: result_opt & _1.ALGO_RESULT.WRITE_TO_CLIENT ? true : false,
can_visualization: result_opt & _1.ALGO_RESULT.WRITE_TO_VISUALIZATION ? true : false,
can_write_to_db: result_opt & _1.ALGO_RESULT.WRITE_TO_DB ? true : false,
can_write_to_file: result_opt & _1.ALGO_RESULT.WRITE_TO_FILE ? true : false,
};
return data;
}
type_util.algoFormat = algoFormat;
function taskFormat(data) {
if (!data) {
return data;
}
if (data.taskJson && typeof data.taskJson == "string") { // for 4.3
try {
data.taskJson = JSON.parse(data.taskJson);
let newData = {
...data.taskJson
};
newData.param = JSON.parse(newData.param);
newData.task_info.task_id = newData.task_info.task_id + "";
newData.task_info.status_code = types_1.JOB_STATUS[+newData.task_info.TASK_STATUS];
// console.log(newData.task_info.TASK_STATUS)
// console.log(ULTIPA.Task_Status_String[+newData.task_info.TASK_STATUS])
let hasStartTime = newData.task_info.writing_start_time;
if (hasStartTime) {
newData.task_info.engine_cost =
newData.task_info.writing_start_time -
newData.task_info.start_time;
newData.task_info.writing_cost =
newData.task_info.end_time -
newData.task_info.writing_start_time;
}
else {
newData.task_info.engine_cost =
newData.task_info.end_time -
newData.task_info.start_time;
}
if (newData.task_info.engine_cost < 0) {
newData.task_info.engine_cost = 0;
}
if (newData.task_info.writing_cost && newData.task_info.writing_cost < 0) {
newData.task_info.writing_cost = 0;
}
let return_type = newData.task_info.return_type;
newData.return_type = {
is_realtime: return_type & _1.ALGO_RETURN_TYPE.ALGO_RETURN_REALTIME ? true : false,
is_visualization: return_type & _1.ALGO_RETURN_TYPE.ALGO_RETURN_VISUALIZATION ? true : false,
is_write_back: return_type & _1.ALGO_RETURN_TYPE.ALGO_RETURN_WRITE_BACK ? true : false,
};
return newData;
}
catch (error) {
return data;
}
}
let param = {};
if (data.params) {
try {
param = JSON.parse(data.params);
}
catch (error) {
}
}
// task_info
let task_id = data.id;
let server_id = null;
let algo_name = data.name;
let engine_cost = +data["compute_cost(s)"];
let writing_cost = +data["write_cost(s)"];
// data.start_time = "2023-07-20T15:02:18Z";
let start_time = (0, moment_timezone_1.default)(data.start_time, "YYYY-MM-DDThh:mm:ssZ").unix();
let end_time = (0, moment_timezone_1.default)(data.end_time, "YYYY-MM-DDThh:mm:ssZ").unix();
let time_cost = end_time - start_time;
let error_msg = "";
if (time_cost < 0) {
time_cost = 0;
}
let status_code = data.status;
let task_info = {
task_id,
server_id,
algo_name,
engine_cost,
writing_cost,
status_code,
time_cost,
start_time,
end_time,
};
let return_type_v = 0;
if (data.result) {
try {
let r = JSON.parse(data.result);
return_type_v = r.iteration;
error_msg = r.error_msg || "";
}
catch (error) {
}
}
let return_type = {
is_realtime: return_type_v & _1.ALGO_RETURN_TYPE.ALGO_RETURN_REALTIME ? true : false,
is_visualization: return_type_v & _1.ALGO_RETURN_TYPE.ALGO_RETURN_VISUALIZATION ? true : false,
is_write_back: return_type_v & _1.ALGO_RETURN_TYPE.ALGO_RETURN_WRITE_BACK ? true : false,
};
let result = {};
if (task_info.status_code == "done") {
result.result_files = param.write_file;
}
return {
param,
task_info,
error_msg,
result,
return_type
};
}
type_util.taskFormat = taskFormat;
})(type_util = exports.type_util || (exports.type_util = {}));
//# sourceMappingURL=util.js.map