Asynq is a Go library for distributed tasks and processing them asynchronously with multiple workers. It's backed by Redis and is designed to scale and distribute easily. Asynq has many features for task like schedule, timeout, retry, etc.
Make sure docker already exists in your environment or you can setup Redis by brew if using Macos
brew install redis
- Clone this repository
git clone github.com/thanhtinhpas1/go-asynq-example.git
- (Optional) Start redis
docker-compose up -d
- Install dependencies
go mod download
or Makefile
make pre_install
- Start worker
go run worker/main.go
or Makefile
make worker
- Start dashboard UI
go run dashboard/main.go
or Makefile
make dash
- Start app-server
go run app/server.go
or Makefile
make app
If you like my example, please give me a star โญ