const express = require ( 'express' ) ;
const cluster = require ( 'cluster' ) ;
const os = require ( 'os' ) ;
function formatDate ( ) {
let date = new Date ( ) ;
const day = date. getDate ( ) . toString ( ) . padStart ( 2 , '0' ) ;
const month = ( date. getMonth ( ) + 1 ) . toString ( ) . padStart ( 2 , '0' ) ;
const year = date. getFullYear ( ) ;
const hours = date. getHours ( ) . toString ( ) . padStart ( 2 , '0' ) ;
const minutes = date. getMinutes ( ) . toString ( ) . padStart ( 2 , '0' ) ;
const seconds = date. getSeconds ( ) . toString ( ) . padStart ( 2 , '0' ) ;
return ` ${ year} - ${ month} - ${ day} ${ hours} : ${ minutes} : ${ seconds} ` ;
}
const numCPUs = os. cpus ( ) . length;
a = undefined
if ( cluster. isMaster) {
console. log ( ` master ${ process. pid} running ` ) ;
for ( let i = 0 ; i < numCPUs; i++ ) {
cluster. fork ( ) ;
}
cluster. on ( 'exit' , ( worker, code, signal ) => {
console. log ( ` 工作进程 ${ worker. process. pid} 已退出 ` ) ;
} ) ;
} else {
const app = express ( ) ;
app. get ( '/encryptPassword' , ( req, res ) => {
let keyId = req. query. keyId;
let publicKey = req. query. publicKey;
let version = req. query. version;
let password = req. query. password;
version = isNaN ( parseInt ( version) ) ? 0 : parseInt ( version) ;
if ( keyId && publicKey && version && password) {
func ( keyId, publicKey, version, password) . then ( result => {
console. log ( formatDate ( ) + " " + result)
res. send ( { status : "ok" , password : result} )
} ) . catch ( err => {
console. log ( formatDate ( ) + " " + err)
res. send ( { status : "no" , error : err. toString ( ) } )
} )
} else {
res. send ( 'Error' )
}
} ) ;
app. listen ( 8848 , ( ) => {
console. log ( ` worker ${ process. pid} running ` ) ;
} ) ;
}