The unused-promise Lint identified an issue here. onMessage can reject, in which case it doesn't appear to be handled.
To make sure it wasn't handled, I investigated how the redis library handles it. Internally that library extends Node's built-in EventEmitter, and that library explains how it handles things here. Since captureRejections: true is not set by the redis library, that means promise rejections will crash keyserver.
To avoid that, in this diff I wrap the call with ignorePromiseRejections. The conditional is necessary because onMessageCallback returns void | Promise<void>.
Depends on D10182