gevent
celery
gevent | celery | |
---|---|---|
5 | 43 | |
6,163 | 23,550 | |
0.2% | 1.1% | |
8.7 | 9.5 | |
3 months ago | about 22 hours ago | |
Python | Python | |
GNU General Public License v3.0 or later | GNU General Public License v3.0 or later |
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.
gevent
-
Is anyone using PyPy for real work?
A sub-question for the folks here: is anyone using the combination of gevent and PyPy for a production application? Or, more generally, other libraries that do deep monkey-patching across the Python standard library?
Things like https://github.com/gevent/gevent/issues/676 and the fix at https://github.com/gevent/gevent/commit/f466ec51ea74755c5bee... indicate to me that there are subtleties on how PyPy's memory management interacts with low-level tweaks like gevent that have relied on often-implicit historical assumptions about memory management timing.
Not sure if this is limited to gevent, either - other libraries like Sentry, NewRelic, and OpenTelemetry also have low-level monkey-patched hooks, and it's unclear whether they're low-level enough that they might run into similar issues.
For a stack without any monkey-patching I'd be overjoyed to use PyPy - but between gevent and these monitoring tools, practically every project needs at least some monkey-patching, and I think that there's a lack of clarity on how battle-tested PyPy is with tools like these.
- SynchronousOnlyOperation from celery task using gevent execution pool on django orm
-
How to Choose the Right Python Concurrency API
I'm not sure how much it replicates the CSP model, but the closest thing I've found to Go-style concurrency in Python is gevent: https://github.com/gevent/gevent
I personally still prefer to use it in all my projects.
-
I have a problem with installing Ajenti on a 64bit Ubuntu 21.04 server
Greenlet seems to have some troubles compiling with Python 3.9. https://github.com/gevent/gevent/issues/1627
celery
-
Streaming responses to websockets with multiple LLMs, am I going about this wrong?
So this might be my understanding, but stuff like celery is more like an orchestrator that chunks up workloads (think Hadoop with multiple nodes).
-
Examples of using task scheduler with Go?
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
-
FastAPI + Celery problem: Celery task is still getting exectued even though I'm raising an exception on task_prerun
I've been doing some research and there doesn't seem to be much information on this issue, aditionally there's this but without a fix yet or any workaround: https://github.com/celery/celery/issues/7792
-
Taskiq: async celery alternative
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
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
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
You can use celery to process the file for extraction, saving and creating rar/zip.
-
RQ-Scheduler for tasks in far future?
Celery not usefull for long term future tasks (far future) · Issue #4522 · celery/celery (github.com)
What are some alternatives?
eventlet - Concurrent networking library for Python
dramatiq - A fast and reliable background task processing library for Python 3.
Ray - Ray is a unified framework for scaling AI and Python applications. Ray consists of a core distributed runtime and a set of AI Libraries for accelerating ML workloads.
Apache Kafka - Mirror of Apache Kafka
Faust - Python Stream Processing
huey - a little task queue for python
Thespian Actor Library - Python Actor concurrency library
NATS - High-Performance server for NATS.io, the cloud and edge native messaging system.
kombu - Messaging library for Python.
rq - Simple job queues for Python
Tomorrow - Magic decorator syntax for asynchronous code in Python