- /**
- * Should return whether the worker is the main worker or not.
- */
- protected abstract isMain (): boolean
+ public execute (data: Data): Promise<Response> {
+ // Configure worker to handle message with the specified task
+ const worker = this.chooseWorker()
+ this.increaseWorkersTask(worker)
+ const messageId = ++this.nextMessageId
+ const res = this.internalExecute(worker, messageId)
+ this.sendToWorker(worker, { data: data || ({} as Data), id: messageId })
+ return res
+ }