| CARVIEW |
Select Language
HTTP/1.1 200 OK
Connection: keep-alive
Server: nginx/1.24.0 (Ubuntu)
Content-Type: text/html; charset=utf-8
Cache-Control: public, max-age=300
Content-Encoding: gzip
Via: 1.1 varnish, 1.1 varnish
Accept-Ranges: bytes
Age: 0
Date: Sun, 18 Jan 2026 23:57:36 GMT
X-Served-By: cache-dfw-kdal2120081-DFW, cache-bom-vanm7210056-BOM
X-Cache: MISS, MISS
X-Cache-Hits: 0, 0
X-Timer: S1768780656.374052,VS0,VE304
Vary: Accept, Accept-Encoding
transfer-encoding: chunked
hasql-queue: A PostgreSQL backed queue
hasql-queue: A PostgreSQL backed queue
Modules
[Index] [Quick Jump]
Downloads
- hasql-queue-1.2.0.2.tar.gz [browse] (Cabal source package)
- Package description (as included in the package)
Maintainer's Corner
For package maintainers and hackage trustees
Candidates
- No Candidates
| Versions [RSS] | 1.0.1, 1.0.1.1, 1.2.0.0, 1.2.0.1, 1.2.0.2 |
|---|---|
| Change log | CHANGELOG.md |
| Dependencies | aeson, async, base (>=4.7 && <5), base64-bytestring, bytestring, cryptohash-sha1, exceptions, hasql, hasql-queue, here, monad-control, postgresql-libpq, postgresql-libpq-notify (>=0.2.0.0), random, resource-pool, stm, text, time, tmp-postgres, transformers [details] |
| Tested with | ghc ==8.8.1 |
| License | BSD-3-Clause |
| Copyright | 2020 Jonathan Fischoff |
| Author | Jonathan Fischoff |
| Maintainer | jonathangfischoff@gmail.com |
| Uploaded | by JonathanFischoff at 2020-07-06T23:27:11Z |
| Category | Web |
| Home page | https://github.com/jfischoff/hasql-queue#readme |
| Bug tracker | https://github.com/jfischoff/hasql-queue/issues |
| Source repo | head: git clone https://github.com/jfischoff/hasql-queue |
| Distributions | |
| Executables | hasql-queue-tmp-db, benchmark |
| Downloads | 1315 total (19 in the last 30 days) |
| Rating | (no votes yet) [estimated by Bayesian average] |
| Your Rating |
|
| Status | Docs available [build log] Last success reported on 2020-07-06 [all 1 reports] |
Readme for hasql-queue-1.2.0.2
[back to package description]hasql-queue
This module utilizes PostgreSQL to implement a durable queue for efficently processing payloads.
Typically a producer would enqueue a new payload as part of larger database transaction
createAccount userRecord = transaction Serializable Write $ do
createUser userRecord
enqueue "queue_channel" emailEncoder [makeVerificationEmail userRecord]
In another thread or process the consumer would drain the queue.
-- Wait for a single new record and try to send the email 5 times for giving
-- up and marking the payload as failed.
forever $ withDequeue "queue_channel" conn emailDecoder 5 1 $
mapM_ sendEmail