UNPKG

flexbiz-server

Version:

Flexible Server

6 lines (5 loc) 2.15 kB
'use strict';const express=require("express"),app=express(),{parentPort,workerData}=require("worker_threads"),_=require("lodash"),Server=require("../app"),handlers=require("../controllers/handlers"),handleData=$msg$$=>{try{let $ctrl$$=global.controllers[$msg$$.module.trim()];if($ctrl$$)if($msg$$.req&&$msg$$.req.handler){const $action$$=handlers[$msg$$.req.handler];$action$$?$action$$($ctrl$$,$msg$$.req,($error$$,$result$$)=>{parentPort.postMessage({error:$error$$,result:$result$$,id_task:$msg$$.id_task})}): (console.error("not found handler",$msg$$.req.handler,". C\u00e1c handler c\u00f3 gi\u00e1 tr\u1ecb:",Object.keys(handlers).join(",")),parentPort.postMessage({error:"Kh\u00f4ng t\u00ecm th\u1ea5y handler: "+$msg$$.req.handler,id_task:$msg$$.id_task}))}else parentPort.postMessage({error:"Kh\u00f4ng t\u00ecm th\u1ea5y req ho\u1eb7c t\u00ean handler",id_task:$msg$$.id_task});else parentPort.postMessage({error:"Kh\u00f4ng t\u00ecm th\u1ea5y module "+$msg$$.module,id_task:$msg$$.id_task})}catch($e$$){parentPort.postMessage({error:$e$$, id_task:$msg$$.id_task})}},handleTask=$msg$$=>{if(_.isString($msg$$))try{$msg$$=JSON.parse($msg$$)}catch($e$$){console.error($e$$);parentPort.postMessage({error:"msg is not valid"});return}$msg$$=$msg$$||{};$msg$$.user=$msg$$.user||($msg$$.req||{}).user;if($msg$$.load||$msg$$.user&&$msg$$.module)if(sv)handleData($msg$$);else{if($msg$$.configs&&_.isString($msg$$.configs))try{$msg$$.configs=JSON.parse($msg$$.configs)}catch($e$$){delete $msg$$.configs,console.info($e$$)}const $configs$$=$msg$$.configs|| require("../configs");$configs$$.use_ssl=!1;$configs$$.createIndexes=!1;Server(app,{configs:$configs$$,createServer:!1,start_report_pool:!1,start_import_data_pool:!1,start_abci_handler:!0,lite:!0},()=>{console.error("Input worker started:",$msg$$.id_worker);sv=!0;if($msg$$.load)return parentPort.postMessage({rs:"ready",id_task:$msg$$.id_task});handleData($msg$$)})}else parentPort.postMessage({error:"msg is not valid"})};let sv=!1;parentPort.on("message",$msg$$=>{handleTask($msg$$)}); workerData&&(()=>{handleTask(workerData)})();setInterval(()=>{parentPort.postMessage("pong")},5E3);