diff --git a/_static/style.css b/_static/style.css new file mode 100644 index 0000000..8e99981 --- /dev/null +++ b/_static/style.css @@ -0,0 +1,21 @@ +.breaking-change::before { + content: "BREAKING CHANGE: "; + color: #e63946; + font-weight: bold; + font-size: 24px; +} + +.breaking-change { + font-size: 20px; +} + +.new-feature::before { + content: "NEW FEATURE: "; + color: #55a630; + font-weight: bold; + font-size: 24px; +} + +.new-feature { + font-size: 20px; +} \ No newline at end of file diff --git a/ci/content/vocab.txt b/ci/content/vocab.txt index 3b50828..3f19374 100644 --- a/ci/content/vocab.txt +++ b/ci/content/vocab.txt @@ -24,6 +24,8 @@ devs dsl enqueues Etcd +eventlet +gevent Github http https @@ -34,6 +36,7 @@ Omer png Pre prefetching +prefork repo Rigo runtimes diff --git a/conf.py b/conf.py index 2aaa9b3..0a0a581 100644 --- a/conf.py +++ b/conf.py @@ -67,6 +67,10 @@ # so a file named "default.css" will overwrite the builtin "default.css". html_static_path = ['_static'] +html_css_files = [ + 'style.css', +] + # -- Extension configuration ------------------------------------------------- @@ -77,3 +81,7 @@ 'python': ('https://docs.python.org/', None), 'celery4': ('http://docs.celeryproject.org/en/v4.3.0', None) } + +suppress_warnings = [ + 'autosectionlabel.draft/features-roadmap', +] \ No newline at end of file diff --git a/draft/features-release-schedule.rst b/draft/features-release-schedule.rst deleted file mode 100644 index 4720246..0000000 --- a/draft/features-release-schedule.rst +++ /dev/null @@ -1,106 +0,0 @@ -.. vale off - -================================== -CEP XXXX: Feature Release Schedule -================================== - -:CEP: XXXX -:Author: Omer Katz -:Implementation Team: Omer Katz -:Shepherd: Omer Katz -:Status: Draft -:Type: Feature -:Created: 2019-04-03 -:Last-Modified: 2019-04-03 - -.. contents:: Table of Contents - :depth: 3 - :local: - -This CEP provides a sample template for creating your own CEPs. In conjunction -with the content guidelines in :doc:`/final/0001-cep-process`, -this should make it easy for you to conform your own CEPs to the format -outlined below. - -Note: if you are reading this CEP via the web, you should first grab `the source -of this CEP `_ in -order to complete the steps below. **DO NOT USE THE HTML FILE AS YOUR -TEMPLATE!** - -To get the source this (or any) CEP, look at the top of the Github page -and click "raw". - -If you're unfamiliar with reStructuredText (the format required of CEPs), -see these resources: - -* `A ReStructuredText Primer`__, a gentle introduction. -* `Quick reStructuredText`__, a users' quick reference. -* `reStructuredText Markup Specification`__, the final authority. - -__ http://docutils.sourceforge.net/docs/user/rst/quickstart.html -__ http://docutils.sourceforge.net/docs/user/rst/quickref.html -__ http://docutils.sourceforge.net/docs/ref/rst/restructuredtext.html - -Once you've made a copy of this template, remove this abstract, fill out the -metadata above and the sections below, then submit the CEP. Follow the -guidelines in :doc:`/final/0001-cep-process`. - -Abstract -======== - -This should be a short (~200 word) description of the technical issue being -addressed. - -This (and the above metadata) is the only section strictly required to submit a -draft CEP; the following sections can be barebones and fleshed out as you work -through the CEP process. - -Specification -============= - -This section should contain a complete, detailed technical specification should -describe the syntax and semantics of any new feature. The specification should -be detailed enough to allow implementation -- that is, developers other than the -author should (given the right experience) be able to independently implement -the feature, given only the CEP. - -Motivation -========== - -This section should explain *why* this CEP is needed. The motivation is critical -for CEPs that want to add substantial new features or materially refactor -existing ones. It should clearly explain why the existing solutions are -inadequate to address the problem that the CEP solves. CEP submissions without -sufficient motivation may be rejected outright. - -Rationale -========= - -This section should flesh out the specification by describing what motivated -the specific design design and why particular design decisions were made. It -should describe alternate designs that were considered and related work. - -The rationale should provide evidence of consensus within the community and -discuss important objections or concerns raised during discussion. - -Backwards Compatibility -======================= - -If this CEP introduces backwards incompatibilities, you must must include this -section. It should describe these incompatibilities and their severity, and what -mitigation you plan to take to deal with these incompatibilities. - -Reference Implementation -======================== - -If there's an implementation of the feature under discussion in this CEP, -this section should include or link to that implementation and provide any -notes about installing/using/trying out the implementation. - -Copyright -========= - -This document has been placed in the public domain per the Creative Commons -CC0 1.0 Universal license (https://creativecommons.org/publicdomain/zero/1.0/deed). - -(All CEPs must include this exact copyright statement.) diff --git a/draft/features-roadmap.rst b/draft/features-roadmap.rst new file mode 100644 index 0000000..8223765 --- /dev/null +++ b/draft/features-roadmap.rst @@ -0,0 +1,116 @@ +========================= +CEP XXXX: Feature Roadmap +========================= + +:CEP: XXXX +:Author: Omer Katz +:Implementation Team: Omer Katz +:Shepherd: Omer Katz +:Status: Draft +:Type: Informational +:Created: 2020-08-25 +:Last-Modified: 2020-08-25 + +.. contents:: Table of Contents + :depth: 3 + :local: + +.. role:: breaking-change +.. role:: new-feature + +Abstract +======== + +This CEP details the roadmap for planned new features and breaking changes for Celery NextGen. +The description of these features is done in other CEPs. If one is available, we will provide a link to the matching CEP. +Otherwise, we will link to an issue which describes the motivation behind the feature or breaking change. + +The document will be updated from time to time whenever we intend to release new major versions of Celery. + +Specification +============= + +Celery 5.x +----------- + +Celery 5.0 is the first version to only support Python 3. + +Breaking Changes +~~~~~~~~~~~~~~~~ + +- :breaking-change:`Drop support for Python 2.7.` +- :breaking-change:`Drop support for Python 3.5.` +- :breaking-change:`Drop support for the Riak result backend.` +- :breaking-change:`Remove the deprecated old tasks API.` + +New Features +~~~~~~~~~~~~ + +- :new-feature:`New CLI based on Click.` + +Celery 6.x +----------- + +Celery 6.0 will introduce a new event loop, drop support for the prefork, gevent & eventlet worker pools +and will allow executing tasks defined with `async def` among other features. + +Support for a single consumer and multiple workers will be reinstated in 7.x. + +Breaking Changes +~~~~~~~~~~~~~~~~ + +- :breaking-change:`Drop support for the prefork workers pool.` +- :breaking-change:`Drop support for the gevent workers pool.` +- :breaking-change:`Drop support for the event workers pool.` +- :breaking-change:`Drop custom event loop.` +- :breaking-change:`Drop support for Redis < 5.0.0 as a message broker.` +- :breaking-change:`Drop support for librabbitmq.` + +New Features +~~~~~~~~~~~~ + +- :new-feature:`New Redis message broker implementation using Redis streams.` +- :new-feature:`Worker is now completely asynchronous.` +- :new-feature:`Users can now define and execute asynchronous tasks.` +- :new-feature:`Execution Platform` +- :new-feature:`Asynchronous AMQP 0.9.1 client.` + +Celery 7.x +----------- + +Breaking Changes +~~~~~~~~~~~~~~~~ + +New Features +~~~~~~~~~~~~ + +- :new-feature:`Router` + +Motivation +========== + +We'd like to inform our users on which features will be released in the upcoming major versions of Celery. + +In addition, we would like to communicate to our technical board what's in store for Celery. +We will create Github projects for each feature detailed in this CEP after it is accepted. + +Rationale +========= + +Backwards Compatibility +======================= + +There are no backwards compatibility concerns in this CEP. + +Reference Implementation +======================== + +There is no code or implementation involved in this CEP. + +Copyright +========= + +This document has been placed in the public domain per the Creative Commons +CC0 1.0 Universal license (https://creativecommons.org/publicdomain/zero/1.0/deed). + +(All CEPs must include this exact copyright statement.) diff --git a/draft/index.rst b/draft/index.rst index 5f1438b..7da02f4 100644 --- a/draft/index.rst +++ b/draft/index.rst @@ -5,7 +5,7 @@ :caption: Contents: celery-5-high-level-architecture.rst - features-release-schedule.rst + features-roadmap.rst high-level-architecture.rst controller.rst publisher.rst