-
Notifications
You must be signed in to change notification settings - Fork 15
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Celery NextGen: High Level Architecture #27
Conversation
4091bee
to
b1cd5ce
Compare
This is ready for the first round of reviews. |
sorry somehow missed the notification |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
IMHO the CEP is too high level. including some implementation plan/detail would be really helpful. also where kombu and process-based parallelism[multi processing/trio worker process] stands?
|
||
Abstract | ||
======== | ||
Celery 5 is the next major version of Celery, and so we can break backward compatibility, even in significant ways. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
maybe we could change this to a gradual incremental architectural overhaul?
Other runtimes will be considered in different CEPs on a case-by-case basis. | ||
|
||
As a general guideline, we will attempt to keep support for the latest Python version :term:`PyPy` supports. | ||
However, if the need arises we will opt to use new Python language features and hope :term:`PyPy` can catch up. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
pypy3 now have 3.7 as alpha
Celery now allows connecting to multiple :term:`Message Brokers <Message Broker>` | ||
even if they are of clusters that use different implementations of a message broker. | ||
|
||
Users can consume messages from a Redis cluster, a RabbitMQ cluster, and an ActiveMQ cluster if they so desire. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
by using AMQP 1.0 client?
We extend the :term:`Result Backend` concept further to allow new use cases such: | ||
|
||
- :term:`ETL`. | ||
- :term:`Data Integration`. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
isn't apache airflow doing this right?
execution of tasks to ensure we maximize the utilization of all our resources | ||
and to prevent expected errors. | ||
|
||
That is why the Controller is now responsible for auto-scaling Celery instances, rate-limiting tasks, |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
any prototype or dummy API for that or example?
|
||
The platform itself can be anything Celery can run on e.g.: Pre-fork, SystemD, OpenRC, Docker, Swarm, Kubernetes, Nomad. | ||
|
||
Each implementation of the Platform Manager will be provided in a different package. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
any hints on which celery team might rely on officially?
we need another round of improvement IMHO as celery 6 is the next gen |
Fixes #19.
You can find the preview here.