1.0.8 • Published 5 years ago
center-service v1.0.8
Install :
=========== 1. step:
npm i center-service
Config :
===========
1. create file config_rpc.js
:
\n content like it :
routeRpc: {
'get-text': 'MOduke.x'
},
//write here or require route rpc,
hostQueueInfo: {
user: 'guest',
password: 'guest',
host: '127.0.0.1',
port: '5672'
},
queueNameSvCenter: 'sv-center', // dont replace queue name center service
queueName: {
'account': {
server: 'sv-account',
client: 'cl-account',
}
},
appName: 'account', //
Note *: appName must same queueName
2: example routeRpc file 'route.js'
let { userController } = require('../controller/UserController')
module.exports = {
'get-info': uContextController.getInfo
}
3: how to build controler? || How to make controller server?
\n controller will return callback function follow format :
{
message: "ERR_EMPTY_DATA",
code: 400,
data: { }
}
\n file controller for server UserController.js
:
let getContext = (params, callback) => {
let { userId } = params
if (!userId) {
return callback('Missing parameter', {
data: {
"0": "Missing param userId!"
}
})
}
userDoc.findOne({
userId: userId
}).then((item) => {
// console.log(item);
if (!item) {
return callback('ERR_EMPTY_DATA', {
message: "ERR_EMPTY_DATA",
code: 400,
data: {
"0": `can\'t find data userId: ${userId}`
}
})
}
return callback(false, item);
}).catch((e) => {
console.log(`[ERR] UcontextProService _findAndUpdateMysql function : \n `);
console.log(`---- err detail : ${e} \n `);
return callback('ERR_EMPTY_DATA', {
message: "ERR_EMPTY_DATA",
code: 400,
data: { e }
})
});
}
4: how to call? || How to to send request to server? || how to make like a api client ?
const express = require('express')
const async = require('async')
const app = express()
let rpcService = require('center-service');
// console.log(rpcService);
const port = 3007
app.listen(port, () => console.log(`Example app listening on port ${port}!`));
app.get('/get-data/:id', function (req, res) {
rpcService.call({
service: "account",
reqData: {
route: "health_check",
params: {
userId: "1234567890",
}
}
}).then((data) => {
// console.log(data);
res.send(data)
});
})