josdejong/workerpool

Add completed method in Pool

Open

#354 ouverte le 8 sept. 2022

Voir sur GitHub
 (5 commentaires) (0 réactions) (0 assignés)JavaScript (164 forks)github user discovery
enhancementhelp wanted

Métriques du dépôt

Stars
 (2 297 stars)
Métriques de merge PR
 (Métriques PR en attente)

Description

Instead of doing every time this:

const pool = workerpool.pool(
    path.resolve(__dirname, 'worker')
)
const tasks: workerpool.Promise<any, Error>[] = []

for (const entity of entities) {
 const task = pool.exec('worker', [entity])
 tasks.push(task)
}

await Promise.all(tasks)
await pool.terminate()

We can do:

const pool = workerpool.pool(
    path.resolve(__dirname, 'worker')
)

for (const entity of entities) {
 pool.exec('worker', [entity])
}

/* Wait all tasks to complete */ 
await pool.completed()
await pool.terminate()

It would be very handy, if this method is added in the future For example, threads.js already have this feature

Guide contributeur