josdejong/workerpool

Add completed method in Pool

Open

#354 建立於 2022年9月8日

在 GitHub 查看
 (5 留言) (0 反應) (0 負責人)JavaScript (164 fork)github user discovery
enhancementhelp wanted

倉庫指標

Star
 (2,297 star)
PR 合併指標
 (PR 指標待抓取)

描述

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

貢獻者指南