Ping
Send a health-check ping to verify KubeMQ server connectivity from the Node.js SDK and inspect the returned server status details.
Overview
A ping is a lightweight liveness check — you call it to confirm the broker is actually reachable before sending real traffic, without standing up a publisher, subscriber, or queue client just to find out. It's the tool of choice for startup readiness checks, container liveness/readiness probes, and connection-health dashboards that need a fast, cheap go/no-go signal.
client.ping() issues a minimal gRPC Ping request to the server and returns a ServerInfo object (host, version, serverUpTime) confirming the broker answered. It works over the same connection regardless of which messaging pattern you use elsewhere on that client — events, queues, commands, or queries.
Gotchas: a failed ping() doesn't close the client — the SDK's reconnect logic keeps retrying in the background, so catch the thrown error yourself (err.code) rather than assume the client tears itself down. A successful ping only confirms the broker process answered, not that a specific channel or queue exists or has capacity. And ping() is on-demand — it's not called automatically by KubeMQClient.create(), so a client can construct successfully yet still be unable to reach the broker.
Prerequisites
- KubeMQ server running on
localhost:50000 - Node.js SDK installed (
npm install kubemq-js)
Code
import { KubeMQClient } from 'kubemq-js';
async function main() {
const client = await KubeMQClient.create({
address: 'localhost:50000',
clientId: 'js-connection-ping-client',
});
try {
const info = await client.ping();
console.log('Server host:', info.host);
console.log('Server version:', info.version);
console.log('Uptime (s):', info.serverUpTime);
} finally {
await client.close();
}
}
main().catch(console.error);
How It Works
client.ping()sends a gRPCPingrequest and returns aServerInfoobject withhost,version, andserverUpTime— the call fails fast withKubeMQTimeoutErrorif the server is unreachable.- Unlike
KubeMQClient.create(),ping()is an explicit on-demand health check; use it in readiness probes or before batch operations to confirm connectivity. - The
serverUpTimefield is in seconds since the server process started and can be used to detect recent restarts. - If
ping()throws, inspecterr.code—ConnectionTimeoutmeans no response,AuthFailedmeans credentials are rejected.
Related
Was this page helpful?