Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- import { IConnection, pubSub } from 'amqp-client-node'
- pubSub.logger('info')
- async function executeTest() {
- const conn: IConnection = await pubSub.createConnetion()
- await conn.sub('test.queue.sub', 'test.exchange.sub',
- 'test.pub', (message) => {
- message.ack()
- console.log('SUB MESSAGE RECEIVED:', message.content)
- },
- {
- consumer: {
- noAck: true
- },
- receiveFromYourself: true
- })
- setInterval(async () => {
- // 1. APOS PUBLICAR A CONEXÃO EH PERDIDA. CONSEQUENTEMENTE O RPC NAÃO FUNCIONA.
- // 2. COMENTAR O PUB PARA VER A ALERTA (node:9775) [DEP0005] DeprecationWarning: Buffer()
- await conn.pub(
- 'test.exchange.sub',
- 'test.pub',
- { content: { timestamp: new Date().toISOString() } }
- )
- conn.rpcClient('test.exchange.rpc',
- 'getTest1',
- [`?id=${new Date().getMilliseconds()}`],
- (err, message) => {
- if (err) {
- console.log(`RPC CLIENT 1 - Error: ${err.message}`)
- return
- }
- console.log(`RPC CLIENT 1 - RESULT: ${message.content}`)
- }, {
- exchange: {
- type: 'direct',
- durable: true
- },
- rcpTimeout: 100
- })
- conn.rpcClient('test.exchange.rpc',
- 'getTest2', [], {
- exchange: {
- type: 'direct',
- durable: true
- },
- rcpTimeout: 100
- })
- .then(message => {
- console.log(`RPC CLIENT 2 - RESULT: ${message.content}`)
- })
- .catch(err => {
- console.log(`RPC CLIENT 2 - Error: ${err.message}`)
- })
- }, 3000)
- const server = conn.createRpcServer('test.queue.rpc',
- 'test.exchange.rpc', [], {
- exchange: {
- type: 'direct',
- durable: true
- }, queue: {
- durable: true
- }
- })
- server.addResource(`getTest1`, (query) => {
- return query
- })
- server.addResource(`getTest2`, () => {
- return new Date().toISOString()
- })
- server.start().then(() => console.log('RPC SERVER STARTED!!!')).catch(console.log)
- process.on('SIGINT', async () => {
- try {
- // await conn.dispose()
- // await conn.close()
- } catch (err) {
- console.log(`ERROR DISPOSE/CLOSE: ${err.message}`)
- }
- process.exit()
- })
- }
- executeTest()
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement