How to plan and execute a large number of tasks in Go?

This page summarizes the projects mentioned and recommended in the original post on /r/golang

Our great sponsors
  • InfluxDB - Power Real-Time Data Analytics at Scale
  • WorkOS - The modern identity platform for B2B SaaS
  • SaaSHub - Software Alternatives and Reviews
  • Asynq

    Simple, reliable, and efficient distributed task queue in Go

  • gue

    Golang queue on top of PostgreSQL

  • I then moved to using rabbitmq in my other projects, but if you use postgres as a DB, you can check this -> https://github.com/vgarvardt/gue

  • InfluxDB

    Power Real-Time Data Analytics at Scale. Get real-time insights from all types of time series data with InfluxDB. Ingest, query, and analyze billions of data points in real-time with unbounded cardinality.

    InfluxDB logo
  • amqp

    Go client for AMQP 0.9.1

  • For rabbitmq I used -> https://github.com/streadway/amqp which is deprecated now for -> https://github.com/rabbitmq/amqp091-go

  • amqp091-go

    An AMQP 0-9-1 Go client maintained by the RabbitMQ team. Originally by @streadway: `streadway/amqp`

  • For rabbitmq I used -> https://github.com/streadway/amqp which is deprecated now for -> https://github.com/rabbitmq/amqp091-go

  • taskq

    Golang asynchronous task/job queue with Redis, SQS, IronMQ, and in-memory backends

  • Oh my god, I have to deal with a similar system at work and I wish we hadn't tried to handroll this. If its possible you should look into something off-the-shelf. Could Celery work for 1000*10000 tasks? But if you must do it yourself, https://github.com/vmihailenco/taskq looks good

  • gocelery

    Celery Distributed Task Queue in Go

NOTE: The number of mentions on this list indicates mentions on common posts plus user suggested alternatives. Hence, a higher number means a more popular project.

Suggest a related project

Related posts