josdejong/workerpool

Add completed method in Pool

Aperta

#354 aperta il 8 set 2022

 (5 commenti) (0 reazioni) (0 assegnatari)JavaScript (164 fork)github user discovery
enhancementhelp wanted

Metriche repository

Star
 (2307 stelle)
Metriche merge PR
 (Merge medio 21g 16h) (3 PR mergiate in 30 g)

Descrizione

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

Guida contributor