{"repo":"hibiken/asynq","free":true,"listed":false,"github":"https://github.com/hibiken/asynq","clone":"git clone https://github.com/hibiken/asynq.git","description":"Simple, reliable, and efficient distributed task queue in Go","language":"Go","stars":13643,"topics":["task-queue","go","background-jobs","redis","asynchronous-tasks","worker-pool","golang"],"license":"MIT","category":"databases-storage","readme_excerpt":"Simple, reliable & efficient distributed task queue in Go Asynq is a Go library for queueing tasks and processing them asynchronously with workers. It's backed by Redis and is designed to be scalable yet easy to get started. Highlevel overview of how Asynq works: - Client puts tasks on a queue - Server pulls tasks off queues and starts a worker goroutine for each task - Tasks are processed concurrently by multiple workers Task queues are used as a mechanism to distribute work across multiple machines. A system can consist of multiple worker servers and brokers, giving way to high availability and horizontal scaling. Example use case Features - Guaranteed at least one execution of a task - Scheduling of tasks - Retries of failed tasks - Automatic recovery of tasks in the event of a worker crash - 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 - Allow aggregating group of tasks to batch multiple successive operations - Flexible handler interface with support for middlewares - Ability to pause queue to stop processing tasks from the queue - Periodic Tasks - Support Redis Sentinels for high availability - Integration with Prometheus to collect and visualize queue metrics - Web UI to inspect and remote-control queues and tasks - CLI to inspect and remote-control queues and tasks Stability and Compatibility Status : The library relatively","default_branch":null,"files":null,"tree":[],"storefront":"/r/hibiken","claimed":false,"request_supported":{"post":"https://gitbuyer.com/r/hibiken/asynq/request-supported","requests":0},"note":"indexed from public GitHub; nothing is for sale on this page. Clone it from GitHub. Paid listings live at /search."}