flexbiz-server
Version:
Flexible Server
6 lines (5 loc) • 1.4 kB
JavaScript
'use strict';const axios=require("axios"),moment=require("moment"),numeral=require("numeral"),{parentPort,workerData}=require("worker_threads"),async=require("async"),_=require("lodash");require("../global");
const {evalute}=require("../libs/utils"),runScript=async $msg$$=>{try{var $data_error$$=$msg$$.script;if(!$data_error$$)return parentPort.postMessage({error:"Script is empty"});if(0<=$data_error$$.indexOf("async "))return parentPort.postMessage({error:"async function is not allow"});$data_error$$=`return (async ()=>{
${$data_error$$}
})`;await evalute($data_error$$,{moment,numeral,axios,async})();parentPort.postMessage({result:"OK",id_task:$msg$$.id_task})}catch($e$$){$data_error$$=$e$$.error||$e$$.message||$e$$,$data_error$$=$data_error$$+"\nScript: \n"+$msg$$.script,parentPort.postMessage({error:$data_error$$,id_task:$msg$$.id_task})}};parentPort.on("message",$msg$$=>{if($msg$$){if(_.isString($msg$$))try{$msg$$=JSON.parse($msg$$)}catch($e$$){console.error($e$$);parentPort.postMessage({error:"msg is not valid"});return}runScript($msg$$)}else parentPort.postMessage({error:"msg is not valid"})});
workerData&&(()=>{let $msg$$=workerData;if(_.isString($msg$$))try{$msg$$=JSON.parse($msg$$)}catch($e$$){console.error($e$$);parentPort.postMessage({error:"msg is not valid"});return}$msg$$.configs&&runScript($msg$$)})();setInterval(()=>{parentPort.postMessage("pong")},5E3);