X-Git-Url: https://git.piment-noir.org/?a=blobdiff_plain;f=README.md;h=e7b7a5d1f75a3ad6e90927ed1a2efe3441136a04;hb=88c31884cb650840fe3896baa0c53280fb1479e3;hp=5720f5223563939eb81795649d98e80523ea54f9;hpb=f0c6203d53ac8c94f8d19480050fb07a55de731c;p=poolifier.git diff --git a/README.md b/README.md index 5720f522..e7b7a5d1 100644 --- a/README.md +++ b/README.md @@ -12,7 +12,7 @@ [![GitHub commit activity (master)](https://img.shields.io/github/commit-activity/m/poolifier/poolifier/master?color=brightgreen&logo=github)](https://github.com/poolifier/poolifier/graphs/commit-activity) [![Weekly Downloads](https://badgen.net/npm/dw/poolifier?icon=npm)](https://www.npmjs.com/package/poolifier) -[![Actions Status](https://github.com/poolifier/poolifier/actions/workflows/ci.yml/badge.svg)](https://github.com/poolifier/poolifier/actions/workflows/ci.yml) +[![CI Workflow](https://github.com/poolifier/poolifier/actions/workflows/ci.yml/badge.svg)](https://github.com/poolifier/poolifier/actions/workflows/ci.yml) [![Code Coverage](https://sonarcloud.io/api/project_badges/measure?project=pioardi_poolifier&metric=coverage)](https://sonarcloud.io/dashboard?id=pioardi_poolifier) [![Quality Gate Status](https://sonarcloud.io/api/project_badges/measure?project=pioardi_poolifier&metric=alert_status)](https://sonarcloud.io/dashboard?id=pioardi_poolifier) [![Javascript Standard Style Guide]()](https://standardjs.com) @@ -44,7 +44,7 @@ Please consult our [general guidelines](#general-guidelines). - Tasks distribution strategies :white_check_mark: - Lockless tasks queueing :white_check_mark: - Queued tasks rescheduling: - - Task stealing :white_check_mark: + - Task stealing on empty queue :white_check_mark: - Tasks stealing under back pressure :white_check_mark: - Tasks redistribution on worker error :white_check_mark: - General guidelines on pool choice :white_check_mark: @@ -116,8 +116,8 @@ const pool = new FixedThreadPool(availableParallelism(), './yourWorker.js', { onlineHandler: () => console.info('worker is online') }) -pool.emitter.on(PoolEvents.ready, () => console.info('Pool is ready')) -pool.emitter.on(PoolEvents.busy, () => console.info('Pool is busy')) +pool.emitter?.on(PoolEvents.ready, () => console.info('Pool is ready')) +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', { @@ -125,9 +125,9 @@ const pool = new DynamicThreadPool(Math.floor(availableParallelism() / 2), avail onlineHandler: () => console.info('worker is online') }) -pool.emitter.on(PoolEvents.full, () => console.info('Pool is full')) -pool.emitter.on(PoolEvents.ready, () => console.info('Pool is ready')) -pool.emitter.on(PoolEvents.busy, () => console.info('Pool is busy')) +pool.emitter?.on(PoolEvents.full, () => console.info('Pool is full')) +pool.emitter?.on(PoolEvents.ready, () => console.info('Pool is ready')) +pool.emitter?.on(PoolEvents.busy, () => console.info('Pool is busy')) // the execute method signature is the same for both implementations, // so you can easily switch from one to another