forked from CITKParus/P8-ExchangeService
Просто немного тестов и модификация конфига для отладки
This commit is contained in:
parent
c352f9f487
commit
2c6e24f91e
@ -14,7 +14,7 @@ let dbConnect = {
|
||||
//Пароль пользователя БД
|
||||
sPassword: "parus",
|
||||
//Строка подключения к БД
|
||||
sConnectString: "DEMOP_CITKSERV_WAN",
|
||||
sConnectString: "DEMOP_CITKSERV",
|
||||
//Наименование сервера приложений в сессии БД
|
||||
sSessionAppName: "PARUS$ExchangeServer",
|
||||
//Подключаемый модуль обслуживания БД (низкоуровневые функции работы с СУБД)
|
||||
@ -26,7 +26,7 @@ let outGoing = {
|
||||
//Количество одновременно обрабатываемых исходящих сообщений
|
||||
nMaxWorkers: 3,
|
||||
//Интервал проверки наличия исходящих сообщений (мс)
|
||||
nCheckTimeout: 1
|
||||
nCheckTimeout: 5000
|
||||
};
|
||||
|
||||
//Параметры обработки очереди входящих сообщений
|
||||
|
171
test.js
171
test.js
@ -3,149 +3,48 @@
|
||||
Песочница для тестов
|
||||
*/
|
||||
|
||||
require("module-alias/register");
|
||||
const db = require("./core/db_connector"); //Взаимодействие с БД
|
||||
const cfg = require("./config"); //Настройки сервера приложений
|
||||
const rqp = require("request-promise");
|
||||
const nodemailer = require("nodemailer");
|
||||
const childProcess = require("child_process"); //Работа с дочерними процессами
|
||||
const objOutQueueProcessorSchema = require("./models/obj_out_queue_processor"); //Схема валидации сообщений обмена с бработчиком очереди исходящих сообщений
|
||||
const prmsOutQueueProcessorSchema = require("./models/prms_out_queue_processor"); //Схема валидации параметров функций бработчика очереди исходящих сообщений
|
||||
const { getAppSrvFunction, makeModuleFullPath, validateObject } = require("./core/utils"); //Вспомогательные функции
|
||||
|
||||
require("module-alias/register"); //Поддержка псевонимов при подключении модулей
|
||||
const _ = require("lodash");
|
||||
const db = require("./core/db_connector");
|
||||
const cfg = require("./config");
|
||||
const utl = require("./core/utils");
|
||||
const servSchema = require("./models/obj_service");
|
||||
const Schema = require("validate"); //Схемы валидации
|
||||
/*
|
||||
let proc = childProcess.fork("core/out_queue_processor", { silent: true });
|
||||
*/
|
||||
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();
|
||||
}
|
||||
});
|
||||
const NDETECTING_LOOP_INTERVAL = 10;
|
||||
let nTimeOut = null;
|
||||
|
||||
proc.on("error", e => {
|
||||
console.log("SUBPROCESS ERROR: " + e.message);
|
||||
proc.kill();
|
||||
});
|
||||
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}`);
|
||||
}
|
||||
const restartDetectingLoop = () => {
|
||||
console.log(`BEGIN restartDetectingLoop`);
|
||||
nTimeOut = setTimeout(notifyDetectingLoop, NDETECTING_LOOP_INTERVAL);
|
||||
console.log(`END restartDetectingLoop`);
|
||||
};
|
||||
|
||||
getSomeData();
|
||||
|
||||
|
||||
const sendErrorByMail = e => {
|
||||
return new Promise((resolve, reject) => {
|
||||
//Параметры подключения
|
||||
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);
|
||||
}
|
||||
}
|
||||
});
|
||||
const someAsyncAction = i => {
|
||||
return new Promise((res, rej) => {
|
||||
setTimeout(() => {
|
||||
console.log(`Сделал I=${i}`);
|
||||
res();
|
||||
}, 100);
|
||||
});
|
||||
};
|
||||
|
||||
sendErrorByMail("Текст")
|
||||
.then(i => {
|
||||
console.log(i);
|
||||
})
|
||||
.catch(e => {
|
||||
console.log(e);
|
||||
});
|
||||
//Опрос очереди уведомлений
|
||||
const notifyDetectingLoop = async () => {
|
||||
console.log(`BEGIN notifyDetectingLoop`);
|
||||
for (let i = 0; i <= 5; i++) {
|
||||
console.log(`Делаю I=${i}`);
|
||||
await someAsyncAction(i);
|
||||
}
|
||||
restartDetectingLoop();
|
||||
console.log(`END notifyDetectingLoop`);
|
||||
};
|
||||
|
||||
notifyDetectingLoop();
|
||||
*/
|
||||
|
||||
const chFn = val => {
|
||||
if (val) {
|
||||
let r = /^[a-z0-9_.-]+(.js)\/[a-z0-9_.-]+$/;
|
||||
return r.test(val.toLowerCase());
|
||||
}
|
||||
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/"));
|
||||
const errors = servSchema.ServiceExpiredQueueInfo.validate(
|
||||
{ nId: 123, nCnt: 0, sInfoList: "dsdfsdf" },
|
||||
{ strip: false }
|
||||
);
|
||||
console.log(errors);
|
||||
|
Loading…
x
Reference in New Issue
Block a user