NATS VS celery

Compare NATS vs celery and see what are their differences.

Our great sponsors
  • InfluxDB - Power Real-Time Data Analytics at Scale
  • WorkOS - The modern identity platform for B2B SaaS
  • SaaSHub - Software Alternatives and Reviews
NATS celery
104 43
14,561 23,256
2.4% 1.4%
9.8 9.6
6 days ago 7 days ago
Go Python
Apache License 2.0 BSD 3-clause "New" or "Revised" License
The number of mentions indicates the total number of mentions that we've tracked plus the number of user suggested alternatives.
Stars - the number of stars that a project has on GitHub. Growth - month over month growth in stars.
Activity is a relative number indicating how actively a project is being developed. Recent commits have higher weight than older ones.
For example, an activity of 9.0 indicates that a project is amongst the top 10% of the most actively developed projects that we are tracking.

NATS

Posts with mentions or reviews of NATS. We have used some of these posts to build our list of alternatives and similar projects. The last one was on 2024-03-20.

celery

Posts with mentions or reviews of celery. We have used some of these posts to build our list of alternatives and similar projects. The last one was on 2023-06-03.
  • Examples of using task scheduler with Go?
    8 projects | /r/golang | 3 Jun 2023
    In the Django world, you'd probably rely on Celery to do this for you. You're probably looking for something similar that works with Go. https://github.com/celery/celery
  • SynchronousOnlyOperation from celery task using gevent execution pool on django orm
    3 projects | /r/django | 31 May 2023
    4 projects | /r/djangolearning | 31 May 2023
  • Taskiq: async celery alternative
    4 projects | /r/Python | 2 Apr 2023
    RabbitMQ Classic mirror queues are very fragile to network partitioning. They are deprecated in favor of Quorum queues, but Celery doesn't support them yet : https://github.com/celery/celery/issues/6067
  • Use Celery with any Django Storage as a Result Backend
    5 projects | /r/django | 7 Feb 2023
    The Celery package provides some number of (undocumented!) result backends to store task results in different local, network, and cloud storages. The django-celery-result package adds options to use Django-specific ORM-based result storage, as well as Django-specific cache subsystem.
  • Django Styleguide
    9 projects | news.ycombinator.com | 11 Jan 2023
    I spent 3 years building a high scale crawler on top of Celery.

    I can't recommend it. We found many bugs in the more advanced features of Celery (like Canvas) we also ran into some really weird issues like tasks getting duplicated for no reason [1].

    The most concerning problem is that the project was abandoned. The original creator is not working on it anymore and all issues that we raised were ignored. We had to fork the project and apply our own fixes to it. This was 4 years ago so maybe things improved since them.

    Celery is also extremely complex.

    I would recommend https://dramatiq.io/ instead.

    [1]: https://github.com/celery/celery/issues/4426

  • Processing input and letting user download the result
    2 projects | /r/django | 4 Jan 2023
    You can use celery to process the file for extraction, saving and creating rar/zip.
  • RQ-Scheduler for tasks in far future?
    2 projects | /r/Python | 28 Dec 2022
    Celery not usefull for long term future tasks (far future) · Issue #4522 · celery/celery (github.com)
  • Dedicated backend resources per client
    3 projects | /r/kubernetes | 17 Dec 2022
    A different approach would be to have a main web application which would communicate with worker processes for time intensive operations as you describe. The web app would communicate with workers via some form of MQ or even database. Many solutions exists for that in different languages, one such solution is [Celery](https://github.com/celery/celery) primarily developed for Python but these days it also supports Node, Go, PHP and Rust.
  • Alternative for Django Celery.
    3 projects | /r/django | 24 Nov 2022
    Django-q2 only requires one dependency (except for Django itself). Celery, requires quite a few: https://github.com/celery/celery/blob/master/requirements/default.txt

What are some alternatives?

When comparing NATS and celery you can also consider the following projects:

dramatiq - A fast and reliable background task processing library for Python 3.

Apache Kafka - Mirror of Apache Kafka

huey - a little task queue for python

RabbitMQ - Open source RabbitMQ: core server and tier 1 (built-in) plugins

rq - Simple job queues for Python

redpanda - Redpanda is a streaming data platform for developers. Kafka API compatible. 10x faster. No ZooKeeper. No JVM!

ZeroMQ - ZeroMQ core engine in C++, implements ZMTP/3.1

Apache ActiveMQ - Mirror of Apache ActiveMQ

nsq - A realtime distributed messaging platform

kombu - Messaging library for Python.

arq - Fast job queuing and RPC in python with asyncio and redis.