Apache Kafka
celery
Our great sponsors
Apache Kafka | celery | |
---|---|---|
25 | 43 | |
27,123 | 23,256 | |
1.4% | 1.4% | |
9.9 | 9.6 | |
about 7 hours ago | 7 days ago | |
Java | Python | |
Apache License 2.0 | BSD 3-clause "New" or "Revised" License |
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.
Apache Kafka
- Scala DevInTraining looking to contribute to projects
- *bip*
-
What is Kafka ?
Source and documentation on GitHub
-
Can someone please eli5 how the hierarchical timing wheel algorithm works?
I briefly described the algorithm in this article and there is a wonderful article from Kafka that goes into more depth in their general purpose implementation. My implementation is specialized and over optimized in comparison, e.g. by using bit manipulation to avoid more expensive division/modulus instructions. Tokio rewrote their timerwheel after I showed them mine, borrowing some ideas but also staying more general. Hope that helps!
-
How-to-Guide: Contributing to Open Source
Apache Kafka
-
I am proud to announce, a new Sorting algorithm!
AFAIK, the Linux kernel actually uses a LinkedList for this (Ref: workqueue.c, types.h) and message queues use Timing Wheel (Ref: Kafka's TimingWheel)
- Project Ideas Thread
-
Which diagram tool Kafka using in its documentation
Looks like the author for that image is Guozhang Wang, who is still active in the kafka repo.
-
How to get `byte[]` as `byte[]` in a Kafka Record (in an SMT)
Perhaps you are looking for org.apache.kafka.connect.converters.ByteArrayConverter?
-
Open Source Analytics Stack: Bringing Control, Flexibility, and Data-Privacy to Your Analytics
With the increase in real-time data streams and event streams, certain use cases emerged that require access to real-time data such as financial services risk reporting or detecting a credit card fraud. Real-time streams can be obtained using a stream processing framework like Apache Kafka (website, GitHub). The focus is to direct the stream of data from various sources into reliable queues where data can be automatically transformed, stored, analyzed and reported concurrently.
celery
-
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
-
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.
-
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)
-
Dedicated backend resources per client
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.
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?
dramatiq - A fast and reliable background task processing library for Python 3.
huey - a little task queue for python
Apache ActiveMQ Artemis - Mirror of Apache ActiveMQ Artemis
redpanda - Redpanda is a streaming data platform for developers. Kafka API compatible. 10x faster. No ZooKeeper. No JVM!
jetstream - JetStream Utilities
NATS - High-Performance server for NATS.io, the cloud and edge native messaging system.
rq - Simple job queues for Python
Aeron - Efficient reliable UDP unicast, UDP multicast, and IPC message transport
Apache Qpid - Mirror of Apache Qpid
Hermes - Fast and reliable message broker built on top of Kafka.
kombu - Messaging library for Python.