pool
Version, currently 0.3.06 versions
github.com/ysbaddaden/pool
Generic (connection) pools
Installation
# Add this to your shard.yml
dependencies:
pool:
github: ysbaddaden/pool
version: ~> 0.3.0Then run:
shards installshard.yml
- Crystal
*- License
- Apache-2.0
- Author
- Julien Portalier
Dependencies
Development Dependencies
- minitest*github: ysbaddaden/minitest.crdev
README
Pool
Generic (connection) pools for Crystal
Getting Started
A pool tailored for sharing connections across coroutines.
Connections will be checkout from the pool and tied to the current fiber, until they are checkin, and thus be usable by another coroutine. Otherwise they behave the same than the generic pool.
require "pg"
require "pool/connection"
pg = ConnectionPool.new(capacity: 25, timeout: 0.01) do
PG.connect(ENV["DATABASE_URL"])
end
You may checkout as many connections in parallel as needed, then checkin the connections as required:
conn = pg.checkout
result = conn.exec("SELECT * FROM posts")
pg.checkin(conn)
You may checkout a single connection per coroutine. Trying to checkout another one will always return the same single connection:
conn = pg.connection
result = conn.exec("SELECT * FROM posts")
pg.release
You may also use a block, so the connection will be checkin back into the pool, unless the connection was already checkout, in which case it will be passed to the block, but not returned to the pool:
pg.connection do |conn|
result = conn.exec("SELECT * FROM posts")
end
License
Licensed under the Apache License, Version 2.0
Documentation
Built from the current release. The first visit to a release nobody has asked for starts its build.
Links
This release
- Version
0.3.0- Tagged
- Feb 8, 2023
- Commit
de1e315dc234- Crystal
*- Indexed
- yes
Dependents
- redis
- gphoto2-web
- my-smarthome-backend
- simple_rpc
- redis
- sharock_api
- kemal-session-redis
- tiktok-passport
- neo4j_model
- explorer
- invidious
- invidious
and 24 more
Repository
github.com/ysbaddaden/pool
Metadata
- Created
- Aug 12, 2026
- Updated
- Sep 23, 2026
- Synced
- Sep 23, 2026
- Versions
- 6