github.com/hibiken/asynq (go): Package asynq provides a framework for Redis based distrubted task queue.  Asynq uses Redis as a message broker. To connect to redis, specify the connection using one of RedisConnOpt types.  The Client is used to enqueue a task.  The Server is used to run the task processing workers with a given handler.  Handler is an interface type with a method which takes a task and returns an error. Handler should return nil if the processing is successful, otherwise return a non-nil error. If handler panics or returns a non-nil error, the task will be retried in the future.  Example of a type that implements the Handler interface.
Keywords: asynchronous-tasks|background-jobs|go|golang|redis|task-queue|worker-pool