forked from CITKParus/P8-ExchangeService
Просто немного тестов и модификация конфига для отладки
This commit is contained in:
parent
c352f9f487
commit
2c6e24f91e
@ -14,7 +14,7 @@ let dbConnect = {
|
|||||||
//Пароль пользователя БД
|
//Пароль пользователя БД
|
||||||
sPassword: "parus",
|
sPassword: "parus",
|
||||||
//Строка подключения к БД
|
//Строка подключения к БД
|
||||||
sConnectString: "DEMOP_CITKSERV_WAN",
|
sConnectString: "DEMOP_CITKSERV",
|
||||||
//Наименование сервера приложений в сессии БД
|
//Наименование сервера приложений в сессии БД
|
||||||
sSessionAppName: "PARUS$ExchangeServer",
|
sSessionAppName: "PARUS$ExchangeServer",
|
||||||
//Подключаемый модуль обслуживания БД (низкоуровневые функции работы с СУБД)
|
//Подключаемый модуль обслуживания БД (низкоуровневые функции работы с СУБД)
|
||||||
@ -26,7 +26,7 @@ let outGoing = {
|
|||||||
//Количество одновременно обрабатываемых исходящих сообщений
|
//Количество одновременно обрабатываемых исходящих сообщений
|
||||||
nMaxWorkers: 3,
|
nMaxWorkers: 3,
|
||||||
//Интервал проверки наличия исходящих сообщений (мс)
|
//Интервал проверки наличия исходящих сообщений (мс)
|
||||||
nCheckTimeout: 1
|
nCheckTimeout: 5000
|
||||||
};
|
};
|
||||||
|
|
||||||
//Параметры обработки очереди входящих сообщений
|
//Параметры обработки очереди входящих сообщений
|
||||||
|
171
test.js
171
test.js
@ -3,149 +3,48 @@
|
|||||||
Песочница для тестов
|
Песочница для тестов
|
||||||
*/
|
*/
|
||||||
|
|
||||||
require("module-alias/register");
|
require("module-alias/register"); //Поддержка псевонимов при подключении модулей
|
||||||
const db = require("./core/db_connector"); //Взаимодействие с БД
|
const _ = require("lodash");
|
||||||
const cfg = require("./config"); //Настройки сервера приложений
|
const db = require("./core/db_connector");
|
||||||
const rqp = require("request-promise");
|
const cfg = require("./config");
|
||||||
const nodemailer = require("nodemailer");
|
const utl = require("./core/utils");
|
||||||
const childProcess = require("child_process"); //Работа с дочерними процессами
|
const servSchema = require("./models/obj_service");
|
||||||
const objOutQueueProcessorSchema = require("./models/obj_out_queue_processor"); //Схема валидации сообщений обмена с бработчиком очереди исходящих сообщений
|
const Schema = require("validate"); //Схемы валидации
|
||||||
const prmsOutQueueProcessorSchema = require("./models/prms_out_queue_processor"); //Схема валидации параметров функций бработчика очереди исходящих сообщений
|
|
||||||
const { getAppSrvFunction, makeModuleFullPath, validateObject } = require("./core/utils"); //Вспомогательные функции
|
|
||||||
|
|
||||||
/*
|
/*
|
||||||
let proc = childProcess.fork("core/out_queue_processor", { silent: true });
|
const NDETECTING_LOOP_INTERVAL = 10;
|
||||||
*/
|
let nTimeOut = null;
|
||||||
const getServices = async () => {
|
|
||||||
let d = new db.DBConnector({ connectSettings: cfg.dbConnect });
|
|
||||||
try {
|
|
||||||
await d.connect();
|
|
||||||
//let r = await d.getServices();
|
|
||||||
//let q = await d.getOutgoing({ nPortionSize: 1 });
|
|
||||||
await d.setQueueState({ nQueueId: 2, nExecState: 5, nIncExecCnt: 1 });
|
|
||||||
await d.disconnect();
|
|
||||||
} catch (e) {
|
|
||||||
await d.disconnect();
|
|
||||||
console.log(e.sCode + " " + e.sMessage);
|
|
||||||
}
|
|
||||||
};
|
|
||||||
/*
|
|
||||||
proc.on("message", m => {
|
|
||||||
console.log("SUBPROCESS MESSAGE: " + m);
|
|
||||||
if (m == "ready") {
|
|
||||||
console.log("DONE!!!");
|
|
||||||
proc.kill();
|
|
||||||
} else {
|
|
||||||
console.log("ERROR!!!");
|
|
||||||
proc.kill();
|
|
||||||
}
|
|
||||||
});
|
|
||||||
|
|
||||||
proc.on("error", e => {
|
const restartDetectingLoop = () => {
|
||||||
console.log("SUBPROCESS ERROR: " + e.message);
|
console.log(`BEGIN restartDetectingLoop`);
|
||||||
proc.kill();
|
nTimeOut = setTimeout(notifyDetectingLoop, NDETECTING_LOOP_INTERVAL);
|
||||||
});
|
console.log(`END restartDetectingLoop`);
|
||||||
proc.on("uncaughtException", e => {
|
|
||||||
console.log("SUBPROCESS EXCEPTION: " + e.message);
|
|
||||||
proc.kill();
|
|
||||||
});
|
|
||||||
|
|
||||||
proc.on("exit", code => {
|
|
||||||
console.log("SUBPROCESS EXIT: " + code);
|
|
||||||
});
|
|
||||||
*/
|
|
||||||
//proc.send({ nId: "12345" });
|
|
||||||
|
|
||||||
//getServices();
|
|
||||||
//let a = {};
|
|
||||||
//let sCheckResult = validateObject(a, prmsOutQueueProcessorSchema.sendOKResult, "Параметры sendOKResult");
|
|
||||||
//console.log(sCheckResult);
|
|
||||||
|
|
||||||
//let b = new Buffer("");
|
|
||||||
//console.log(b);
|
|
||||||
|
|
||||||
/*
|
|
||||||
const getSomeData = async () => {
|
|
||||||
try {
|
|
||||||
res = await rqp({
|
|
||||||
//url: "http://123",
|
|
||||||
url: "http://212.5.81.211:7778",
|
|
||||||
//url:
|
|
||||||
// "http://212.5.81.211:7777/prj/PARUS.UDO_PKG_HTTP_PROC_W.PROCESS2?CPRMS={SACTION:GET_AGENT, NAGENT:184429}",
|
|
||||||
method: "GET"
|
|
||||||
});
|
|
||||||
console.log(res);
|
|
||||||
} catch (e) {
|
|
||||||
let sError = "Неожиданная ошибка";
|
|
||||||
if (e.error) {
|
|
||||||
sError = `Ошибка передачи данных: ${e.error.code}`;
|
|
||||||
}
|
|
||||||
if (e.response) {
|
|
||||||
sError = `Ошибка удалённого сервиса: ${e.response.statusCode} - ${e.response.statusMessage}`;
|
|
||||||
}
|
|
||||||
console.log(`При проверке доступности удалённого сервиса: ${sError}`);
|
|
||||||
}
|
|
||||||
};
|
};
|
||||||
|
|
||||||
getSomeData();
|
const someAsyncAction = i => {
|
||||||
|
return new Promise((res, rej) => {
|
||||||
|
setTimeout(() => {
|
||||||
const sendErrorByMail = e => {
|
console.log(`Сделал I=${i}`);
|
||||||
return new Promise((resolve, reject) => {
|
res();
|
||||||
//Параметры подключения
|
}, 100);
|
||||||
let transporter = nodemailer.createTransport({
|
|
||||||
host: "smtp.mail.ru",
|
|
||||||
port: 465,
|
|
||||||
secure: true,
|
|
||||||
auth: {
|
|
||||||
user: "chechnev@citk-parus.ru",
|
|
||||||
pass: "Rxt67A_"
|
|
||||||
}
|
|
||||||
});
|
|
||||||
//Параметры сообщения
|
|
||||||
let mailOptions = {
|
|
||||||
from: '"Сервис интеграции с WEB-API" <chechnev@citk-parus.ru>', // sender address
|
|
||||||
to: "chechnev2@citk-parus.ru", // list of receivers
|
|
||||||
subject: "Сервис недоступен", // Subject line
|
|
||||||
text: "Сервис простаивает более 1-й минуты"
|
|
||||||
};
|
|
||||||
//Отправляем сообщение
|
|
||||||
transporter.sendMail(mailOptions, (error, info) => {
|
|
||||||
if (error) {
|
|
||||||
reject(`${error.code}: ${error.response}`);
|
|
||||||
} else {
|
|
||||||
if (info.rejected && Array.isArray(info.rejected) && info.rejected.length > 0) {
|
|
||||||
reject(`Сообщение не доствлено адресатам: ${info.rejected.join("; ")}`);
|
|
||||||
} else {
|
|
||||||
resolve(info);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
});
|
|
||||||
});
|
});
|
||||||
};
|
};
|
||||||
|
|
||||||
sendErrorByMail("Текст")
|
//Опрос очереди уведомлений
|
||||||
.then(i => {
|
const notifyDetectingLoop = async () => {
|
||||||
console.log(i);
|
console.log(`BEGIN notifyDetectingLoop`);
|
||||||
})
|
for (let i = 0; i <= 5; i++) {
|
||||||
.catch(e => {
|
console.log(`Делаю I=${i}`);
|
||||||
console.log(e);
|
await someAsyncAction(i);
|
||||||
});
|
}
|
||||||
|
restartDetectingLoop();
|
||||||
|
console.log(`END notifyDetectingLoop`);
|
||||||
|
};
|
||||||
|
|
||||||
|
notifyDetectingLoop();
|
||||||
*/
|
*/
|
||||||
|
|
||||||
const chFn = val => {
|
const errors = servSchema.ServiceExpiredQueueInfo.validate(
|
||||||
if (val) {
|
{ nId: 123, nCnt: 0, sInfoList: "dsdfsdf" },
|
||||||
let r = /^[a-z0-9_.-]+(.js)\/[a-z0-9_.-]+$/;
|
{ strip: false }
|
||||||
return r.test(val.toLowerCase());
|
);
|
||||||
}
|
console.log(errors);
|
||||||
return true;
|
|
||||||
};
|
|
||||||
|
|
||||||
console.log(chFn("123sDf@mail.rU,wert@sSs.ru"));
|
|
||||||
console.log(chFn("parus_ag@n_info.js/buildAgentQuery"));
|
|
||||||
console.log(chFn("parus_agn_info.jsparseAgentInfo"));
|
|
||||||
console.log(chFn("parus_atoleforeBillPrintSend"));
|
|
||||||
console.log(chFn("parus_at/ol.js/afterBillPrintSend"));
|
|
||||||
console.log(chFn("parus_at\\ol.js/beforeBillSend"));
|
|
||||||
console.log(chFn("parus_atol.js/"));
|
|
||||||
|
Loading…
x
Reference in New Issue
Block a user