+ protected async sendKillMessageToWorker (
+ workerNodeKey: number,
+ workerId: number
+ ): Promise<void> {
+ const waitForKillResponse = new Promise<void>((resolve, reject) => {
+ this.registerWorkerMessageListener(workerNodeKey, (message) => {
+ if (message.kill === 'success') {
+ resolve()
+ } else if (message.kill === 'failure') {
+ reject(new Error('Worker kill message handling failed'))
+ }
+ })
+ })
+ this.sendToWorker(workerNodeKey, { kill: true, workerId })
+ await waitForKillResponse
+ }
+