(workerId: number, message: any)
| 259 | } |
| 260 | |
| 261 | private handleWorkerMessage(workerId: number, message: any): void { |
| 262 | switch (message.type) { |
| 263 | case "requestWork": |
| 264 | this.assignWorkToThread(workerId); |
| 265 | break; |
| 266 | case "workComplete": |
| 267 | this.handleWorkCompletion(workerId, message.data); |
| 268 | break; |
| 269 | case "progress": |
| 270 | this.handleProgressUpdate(message.data); |
| 271 | break; |
| 272 | case "log": |
| 273 | handleLog(`Worker ${workerId}: ${message.message}`); |
| 274 | break; |
| 275 | case "error": |
| 276 | handleLog(`Worker ${workerId} error: ${message.error}`); |
| 277 | break; |
| 278 | } |
| 279 | } |
| 280 | |
| 281 | private async assignWorkToThread(workerId: number): Promise<void> { |
| 282 | const workItem = await this.getNextWorkItem(workerId); |
no test coverage detected