Skip to content

Features Roadmap#28

Draft
thedrow wants to merge 4 commits intomasterfrom
features-roadmap
Draft

Features Roadmap#28
thedrow wants to merge 4 commits intomasterfrom
features-roadmap

Conversation

@thedrow
Copy link
Copy Markdown
Contributor

@thedrow thedrow commented Aug 25, 2020

This CEP details our roadmap for the next three major versions.
We will update it occasionally whenever we intend to release a new majpr version or if we decided to reschedule a feature or a breaking change to an earlier or a later release.

@thedrow thedrow changed the title Begin work on the features roadmap Features Roadmap Aug 25, 2020
@thedrow thedrow requested a review from a team August 25, 2020 15:00
@thedrow thedrow marked this pull request as draft August 25, 2020 15:00
Copy link
Copy Markdown
Member

@auvipy auvipy left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I'm not in favor of semvar based versioning and very short term new semvar based release version like celery 6/7 etc. rather it is practical to add incremental 5.1, 5.2, 5.3 [django style versioning] and less breaking changes. we can add async based task on celery 5.1 with making the dependencies it uses making them async/await first.

@clokep
Copy link
Copy Markdown

clokep commented Aug 25, 2020

A couple of thoughts:

  • Whatever versioning is used, it is good to be upfront about it and stick to it. (I think some of the frustration users have with the recent Celery releases have been due to assumption of semantic versioning, but non-backwards compatible changes were made in a 4.y release.)
  • I didn't see it in there, but all the "old-style tasks" stuff should get ripped out. It makes the code quite confusing to follow.

@auvipy
Copy link
Copy Markdown
Member

auvipy commented Aug 25, 2020

Check the reasoning of not using semvar https://www.openapis.org/blog/2020/06/18/openapi-3-1-0-rc0-its-here

@thedrow
Copy link
Copy Markdown
Contributor Author

thedrow commented Aug 27, 2020

A couple of thoughts:

* Whatever versioning is used, it is good to be upfront about it and stick to it. (I think some of the frustration users have with the recent Celery releases have been due to assumption of semantic versioning, but non-backwards compatible changes were made in a 4.y release.)

I completely agree. Since each of the described versions is going to break at least one thing, I think we should communicate somehow.

* I didn't see it in there, but all the "old-style tasks" stuff should get ripped out. It makes the code quite confusing to follow.

What do you mean by "old-style tasks"?

@thedrow
Copy link
Copy Markdown
Contributor Author

thedrow commented Aug 27, 2020

I'm not in favor of semvar based versioning and very short term new semvar based release version like celery 6/7 etc. rather it is practical to add incremental 5.1, 5.2, 5.3 [django style versioning] and less breaking changes. we can add async based task on celery 5.1 with making the dependencies it uses making them async/await first.

How do you expect to add async tasks if it requires a lot of changes in the code?
How isn't that major?

@clokep
Copy link
Copy Markdown

clokep commented Aug 27, 2020

  • I didn't see it in there, but all the "old-style tasks" stuff should get ripped out. It makes the code quite confusing to follow.

What do you mean by "old-style tasks"?

Pretty much this module: https://github.com/celery/celery/blob/v5.0.0rc1/celery/task/

In general what I'm attempting to say is that Celery has a bunch of deprecated stuff. Let's get rid of it to simplify the code base.

@thedrow
Copy link
Copy Markdown
Contributor Author

thedrow commented Aug 27, 2020

  • I didn't see it in there, but all the "old-style tasks" stuff should get ripped out. It makes the code quite confusing to follow.

What do you mean by "old-style tasks"?

Pretty much this module: https://github.com/celery/celery/blob/v5.0.0rc1/celery/task/

In general what I'm attempting to say is that Celery has a bunch of deprecated stuff. Let's get rid of it to simplify the code base.

Oh! I wasn't aware it's still there.
That'll be gone in RC2 of v5.0 :)

- :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.`
Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

it would be cool if we can add amqp-1.0 eperiemental support as well

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

any thoughts on kombu?

Breaking Changes
~~~~~~~~~~~~~~~~

- :breaking-change:`Drop support for the prefork workers pool.`
Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

can we add deprecation warning for this worker pools? in celery 5.1/.5.2

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

No. People complained about us dropping features in minor releases.
We should stick to SemVer even if it is less flexible.

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

OK

- :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.`
Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

any thoughts on kombu?

:CEP: XXXX
:Author: Omer Katz
:Implementation Team: Omer Katz
:Shepherd: Omer Katz
Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

this could be celery core team+technical board

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I assigned myself because at the time we didn't have anyone else active on this repository.

We'll decide who shepherds this soon.

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

fair enough

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants