MCPcopy Index your code
hub / github.com/andywer/threads.js / taskCompletion

Method taskCompletion

src/master/pool.ts:233–248  ·  view source on GitHub ↗
(taskID: number)

Source from the content-addressed store, hash-verified

231 }
232
233 private taskCompletion(taskID: number) {
234 return new Promise<any>((resolve, reject) => {
235 const eventSubscription = this.events().subscribe(event => {
236 if (event.type === PoolEventType.taskCompleted && event.taskID === taskID) {
237 eventSubscription.unsubscribe()
238 resolve(event.returnValue)
239 } else if (event.type === PoolEventType.taskFailed && event.taskID === taskID) {
240 eventSubscription.unsubscribe()
241 reject(event.error)
242 } else if (event.type === PoolEventType.terminated) {
243 eventSubscription.unsubscribe()
244 reject(Error("Pool has been terminated before task was run."))
245 }
246 })
247 })
248 }
249
250 public async settled(allowResolvingImmediately: boolean = false): Promise<Error[]> {
251 const getCurrentlyRunningTasks = () => flatMap(this.workers, worker => worker.runningTasks)

Callers 1

queueMethod · 0.95

Calls 3

eventsMethod · 0.95
subscribeMethod · 0.80
unsubscribeMethod · 0.65

Tested by

no test coverage detected