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. 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. Ability to pause queue to stop processing tasks from the queue. Periodic Tasks. Support Redis Cluster for automatic sharding and high availability. 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.

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
  • Low latency to add a task since writes are fast in Redis
  • Allow aggregating group of tasks to batch multiple successive operations

Project Samples

Project Activity

See All Activity >

Categories

Frameworks

License

MIT License

Follow Asynq

Asynq Web Site

Other Useful Business Software
MongoDB Atlas runs apps anywhere Icon
MongoDB Atlas runs apps anywhere

Deploy in 115+ regions with the modern database for every enterprise.

MongoDB Atlas gives you the freedom to build and run modern applications anywhere—across AWS, Azure, and Google Cloud. With global availability in over 115 regions, Atlas lets you deploy close to your users, meet compliance needs, and scale with confidence across any geography.
Start Free
Rate This Project
Login To Rate This Project

User Reviews

Be the first to post a review of Asynq!

Additional Project Details

Operating Systems

Linux, Mac, Windows

Programming Language

Go

Related Categories

Go Frameworks

Registered

2023-01-09