X-Git-Url: https://git.piment-noir.org/?a=blobdiff_plain;f=README.md;h=43bc095f4631fa39fe72120ef98fb6945c63a9ea;hb=f12182ad6dc553c7a5dfeee01bcde65c0177f671;hp=6f6e79c7cb91e089e1e3a8996446f58f38bffa82;hpb=b7bb85861ee98ae26b7177b0cb4be614770c60ab;p=poolifier.git diff --git a/README.md b/README.md index 6f6e79c7..43bc095f 100644 --- a/README.md +++ b/README.md @@ -40,15 +40,15 @@ Please consult our [general guidelines](#general-guidelines). - Proper integration with Node.js [async_hooks](https://nodejs.org/api/async_hooks.html) :white_check_mark: - Support for CommonJS, ESM and TypeScript :white_check_mark: - Support for [worker_threads](https://nodejs.org/api/worker_threads.html) and [cluster](https://nodejs.org/api/cluster.html) Node.js modules :white_check_mark: -- Support for multiple task functions :white_check_mark: -- Support for task functions [CRUD](https://en.wikipedia.org/wiki/Create,_read,_update_and_delete) operations at runtime :white_check_mark: -- Support for sync and async task functions :white_check_mark: - Tasks distribution strategies :white_check_mark: - Lockless tasks queueing :white_check_mark: - Queued tasks rescheduling: - Task stealing on idle :white_check_mark: - Tasks stealing under back pressure :white_check_mark: - Tasks redistribution on worker error :white_check_mark: +- Support for sync and async task function :white_check_mark: +- Support for multiple task functions with per task function queuing priority and tasks distribution strategy :white_check_mark: +- Support for task functions [CRUD](https://en.wikipedia.org/wiki/Create,_read,_update_and_delete) operations at runtime :white_check_mark: - General guidelines on pool choice :white_check_mark: - Error handling out of the box :white_check_mark: - Widely tested :white_check_mark: @@ -83,13 +83,13 @@ You have to implement your worker by extending the _ThreadWorker_ or _ClusterWor ## Installation -### npm +### npmjs ```shell npm install poolifier --save ``` -### jsr +### JSR ```shell npx jsr add @poolifier/poolifier @@ -120,8 +120,8 @@ import { DynamicThreadPool, FixedThreadPool, PoolEvents, availableParallelism } // a fixed worker_threads pool const pool = new FixedThreadPool(availableParallelism(), './yourWorker.js', { - errorHandler: e => console.error(e), - onlineHandler: () => console.info('worker is online') + onlineHandler: () => console.info('worker is online'), + errorHandler: e => console.error(e) }) pool.emitter?.on(PoolEvents.ready, () => console.info('Pool is ready')) @@ -129,8 +129,8 @@ pool.emitter?.on(PoolEvents.busy, () => console.info('Pool is busy')) // or a dynamic worker_threads pool const pool = new DynamicThreadPool(Math.floor(availableParallelism() / 2), availableParallelism(), './yourWorker.js', { - errorHandler: e => console.error(e), - onlineHandler: () => console.info('worker is online') + onlineHandler: () => console.info('worker is online'), + errorHandler: e => console.error(e) }) pool.emitter?.on(PoolEvents.full, () => console.info('Pool is full'))