2
0
mirror of https://github.com/hibiken/asynq.git synced 2024-11-10 11:31:58 +08:00

Update readme

Add features section
This commit is contained in:
Ken Hibino 2020-03-28 08:37:50 -07:00
parent 47220554ca
commit 7864bea55c

View File

@ -10,10 +10,23 @@
Asynq is a simple Go library for queueing tasks and processing them in the background with workers. Asynq is a simple Go library for queueing tasks and processing them in the background with workers.
It is backed by Redis and it is designed to have a low barrier to entry. It should be integrated in your web stack easily. It is backed by Redis and it is designed to have a low barrier to entry. It should be integrated in your web stack easily.
**Important Note**: Current major version is zero (v0.x.x) to accomodate rapid development and fast iteration while getting early feedback from users. The public API could change without a major version update before v1.0.0 release.
![Task Queue Diagram](/docs/assets/task-queue.png) ![Task Queue Diagram](/docs/assets/task-queue.png)
## Features
- Guaranteed at least one execution of a task
- Scheduling of tasks
- Durability since tasks are written to Redis
- Retries of failed tasks
- Concurrency management via configuration
- Weighted priority queues
- Strict priority queues
- Low latency to add a task since writes are fast in Redis
- De-duplication of tasks using unique option
- Allow timeout and deadline per task
- Flexible handler interface with support for middlewares
- CLI to inspect and remote-control queues and tasks
## Quickstart ## Quickstart
First, make sure you are running a Redis server locally. First, make sure you are running a Redis server locally.
@ -207,6 +220,12 @@ go get -u github.com/hibiken/asynq/tools/asynqmon
| [Redis](https://redis.io/) | v2.8+ | | [Redis](https://redis.io/) | v2.8+ |
| [Go](https://golang.org/) | v1.13+ | | [Go](https://golang.org/) | v1.13+ |
## Stability and Compatibility
**Important Note**: Current major version is zero (v0.x.x) to accomodate rapid development and fast iteration while getting early feedback from users. The public API could change without a major version update before v1.0.0 release.
The library is getting close to a stable release, and we are trying to minimize breaking API changes. However, we cannot make any guarantees at this time.
## Contributing ## Contributing
We are open to, and grateful for, any contributions (Github issues/pull-requests, feedback on Gitter channel, etc) made by the community. We are open to, and grateful for, any contributions (Github issues/pull-requests, feedback on Gitter channel, etc) made by the community.