Skip to content

Releases: general-CbIC/poolex

[0.9.0] Pool size metrics

24 Apr 09:01
Compare
Choose a tag to compare

What's Changed

Pool size metrics (using telemetry) were added. How to use them is described here: Working with metrics guide.

To enable pool size metrics, you need to set the pool_size_metrics parameter to true on the pool initialization:

children = [
  {Poolex, 
    pool_id: :worker_pool,
    worker_module: SomeWorker,
    workers_count: 5,
    pool_size_metrics: true}
]

[0.8.0] Merge `run` interfaces

30 Aug 13:29
Compare
Choose a tag to compare

What's Changed

Breaking changes

  • Option :timeout renamed to :checkout_timeout.

    • Reason: This option configures only the waiting time for worker from the pool, not the task's work time. This naming should be more understandable on the call site.

      # Before
      Poolex.run(:my_awesome_pool, fn worker -> some_work(worker) end, timeout: 10_000)
      
      # After
      Poolex.run(:my_awesome_pool, fn worker -> some_work(worker) end, checkout_timeout: 10_000)
  • Poolex.run/3 returns tuple {:error, :checkout_timeout} instead of :all_workers_are_busy.

    • Reason: It is easier to understand the uniform format of the response from the function: {:ok, result} or {:error, reason}.
  • Poolex.caller() type replaced with struct defined in Poolex.Caller.t().

    • Reason: We need to save unique caller references.
  • Poolex.run!/3 was removed in favor of Poolex.run/3. The new unified function returns {:ok, result} or {:error, :checkout_timeout} and not handles runtime errors anymore.

    • Reason: We should not catch errors in the caller process. The caller process itself must choose how to handle exceptions and exit signals.

Fixed

  • Fixed a bug when workers get stuck in busy status after checkout timeout.

[0.7.6] Handling caller's death

03 Aug 08:34
Compare
Choose a tag to compare

What's Changed

Fixed

  • Fixed a bug with workers stuck in busy status. Added caller monitoring. #56

[0.7.5] Fixed breaking bug

31 Jul 07:52
Compare
Choose a tag to compare

What's Changed

Fixed

  • Fixed breaking bug with releasing workers in #55. Version 0.7.4 retired.

[0.7.4] Fixed processing of restarting a fallen worker

23 Jul 07:44
Compare
Choose a tag to compare

What's Changed

Fixed

  • Fixed a bug where a restarted worker was not automatically dispatched to pending callers #54.

Changed

  • Upgraded ex_doc from 0.29.4 to 0.30.3

[0.7.3] Fixed bugs

21 Jun 12:23
Compare
Choose a tag to compare

What's Changed

Fixed

  • Fixed a bug with an incorrect number of running workers when specifying a zero or negative number in the workers_count parameter by @alexcastano in #49

[0.7.2] Improve the shutdown process

11 Jun 08:41
Compare
Choose a tag to compare

What's Changed

Fixed

Changed

  • Implementation settings are stored in the pool process state instead of the ETS table. This makes the testing process easier and removes unnecessary entities.

New Contributors

[0.7.1] Improve the shutdown process

03 Jun 06:38
Compare
Choose a tag to compare

Fixed

  • Fix the shutdown process: stop workers before the pool. Issue: #44.

[0.7.0] `FIFO` workers implementation

13 Apr 14:17
Compare
Choose a tag to compare

Added

  • Added FIFO worker's implementation. About implementations. May be needed if you used the :fifo strategy in poolboy.

[0.6.1] Documentation improvements

25 Mar 12:22
Compare
Choose a tag to compare

Documentation updates

  • Refactored some custom types and added some typedocs.
  • Added diff syntax highlighting support.
  • Updated guides:
    • The pages were merged into a group called Guides.
    • Tried to refresh some pages with cheatmd.