Code files
This commit is contained in:
@@ -0,0 +1,43 @@
|
||||
'use strict'
|
||||
require('./env')
|
||||
const { dns } = require('concordant')()
|
||||
const redis = require('redis')
|
||||
const CliTable = require('cli-table')
|
||||
const QNAME = 'eventservice'
|
||||
const RESPONSE_QUEUE = 'summary'
|
||||
const ENDPOINT = '_main._tcp.redis.micro.svc.cluster.local'
|
||||
|
||||
dns.resolve(ENDPOINT, report)
|
||||
|
||||
function report (err, locs) {
|
||||
if (err) { return console.log(err) }
|
||||
const { port, host } = locs[0]
|
||||
const client = redis.createClient(port, host)
|
||||
const event = JSON.stringify({
|
||||
action: 'summary',
|
||||
returnPath: RESPONSE_QUEUE
|
||||
})
|
||||
|
||||
client.lpush(QNAME, event, (err) => {
|
||||
if (err) {
|
||||
console.error(err)
|
||||
return
|
||||
}
|
||||
|
||||
client.brpop(RESPONSE_QUEUE, 5, (err, data) => {
|
||||
if (err) {
|
||||
console.error(err)
|
||||
return
|
||||
}
|
||||
const summary = JSON.parse(data[1])
|
||||
const cols = Object.keys(summary).map((url) => [url, summary[url]])
|
||||
const table = new CliTable({
|
||||
head: ['url', 'count'],
|
||||
colWidths: [50, 10]
|
||||
})
|
||||
table.push(...cols)
|
||||
console.log(table.toString())
|
||||
client.quit()
|
||||
})
|
||||
})
|
||||
}
|
||||
Reference in New Issue
Block a user