diff --git a/test.js b/test.js index 2cb4ebe..94c9017 100644 --- a/test.js +++ b/test.js @@ -6,9 +6,12 @@ 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 { makeModuleFullPath, validateObject } = require("./core/utils"); //Вспомогательные функции +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 }); @@ -19,7 +22,7 @@ const getServices = async () => { await d.connect(); //let r = await d.getServices(); //let q = await d.getOutgoing({ nPortionSize: 1 }); - await d.setQueueState({ nQueueId: 2, nExecState: 1, nIncExecCnt: 0 }); + await d.setQueueState({ nQueueId: 2, nExecState: 5, nIncExecCnt: 1 }); await d.disconnect(); } catch (e) { await d.disconnect(); @@ -53,12 +56,96 @@ proc.on("exit", code => { */ //proc.send({ nId: "12345" }); -getServices(); - -//let sCheckResult = validateObject( -// { nExecState: null, sExecMsg: null, blResp: null }, -//objOutQueueProcessorSchema.OutQueueProcessorTaskResult, -//"Задача обработчика очереди исходящих сообщений" -//); - +//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 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" ', // 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 => { + console.log(i); + }) + .catch(e => { + console.log(e); + }); + +*/ + +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/"));