Skip to content
Please note that GitHub no longer supports Internet Explorer.

We recommend upgrading to the latest Microsoft Edge, Google Chrome, or Firefox.

Learn more
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

RFC - Rename project #9

Open
markstory opened this issue Jan 6, 2020 · 31 comments
Open

RFC - Rename project #9

markstory opened this issue Jan 6, 2020 · 31 comments
Labels

Comments

@markstory
Copy link
Member

@markstory markstory commented Jan 6, 2020

A few folks in the cakephp-dev channel have commented that the queue name is a bit generic and results in the project having classnames with multiple instances of the same word e.g Queue\Queue\QueueExtension.

I'd like to discuss some alternate names that we could use. The goal of the rename would be to better communicate the problem or solution space of the plugin and be less literal about the underlying technology used.

Given that the plugin is going to focus on background jobs and delayed/deferred task execution, some candidates are:

  • Batch
  • Backburner
  • Deferred
  • Workline
  • Later
  • DelayedJob
  • JobRunner
  • Tasker
@ADmad

This comment has been minimized.

Copy link
Member

@ADmad ADmad commented Jan 6, 2020

Deferred was also suggested as an option.

@Megslalk

This comment has been minimized.

Copy link
Member

@Megslalk Megslalk commented Jan 6, 2020

So many cool suggestions! +1 for Backburner

@dakota

This comment has been minimized.

Copy link
Member

@dakota dakota commented Jan 6, 2020

+1 for Batch

and

+1/2 for Backburner :)

@rchavik

This comment has been minimized.

Copy link
Member

@rchavik rchavik commented Jan 6, 2020

Procastinator 😄

@skie

This comment has been minimized.

Copy link
Member

@skie skie commented Jan 6, 2020

Async

@dereuromark

This comment has been minimized.

Copy link
Member

@dereuromark dereuromark commented Jan 6, 2020

I would go simple and use the same pattern for core modules like
https://github.com/cakephp/elastic-search/blob/master/composer.json#L31, so Cake/Queue as plugin name. Simple and effective.

Cake\Queue\Queue\QueueExtension

Wouldnt be too bad as namespace. Maybe also the internal Queue namespace could be made more specific instead? Like Enqueue, following the name the extension class also comes from.

Cake\Queue\Enqueue\EnqueueExtension

https://github.com/cakephp/queue/blob/master/src/Queue/QueueExtension.php#L31

Queue as a subnamespace is usually a bit generic anyways :)

@skie

This comment has been minimized.

Copy link
Member

@skie skie commented Jan 6, 2020

In fact queues implements asyncronous calls pattern. So I dont understand negative reaction about Async idea, at least i more talkaive then Deffered.

@dereuromark

This comment has been minimized.

Copy link
Member

@dereuromark dereuromark commented Jan 6, 2020

In fact queues implements asyncronous calls pattern. So I dont understand negative reaction about Async idea, at least i more talkaive then Deffered.

When reading about the semantic difference:

The difference between async and defer centers around when the script is executed. Each async script executes at the first opportunity after it is finished downloading and before the window's load event. ... Whereas the defer scripts, on the other hand, are guaranteed to be executed in the order they occur in the page.

Similar things could be said about a queue: The tasks are all async, true.
But maybe deferred is a more specific meaning as in: not random, but as first-in first-out kind of priority queue. But I don't know enough about the implementation of this specific queue to say this is true here. And that you can give priorities or assert certain exec orders.

@rochamarcelo

This comment has been minimized.

Copy link
Contributor

@rochamarcelo rochamarcelo commented Jan 6, 2020

Cake\Queue is a direct and clear namespace, this avoid multiple instances of the same word, which seems to be the main issue.

@rochamarcelo

This comment has been minimized.

Copy link
Contributor

@rochamarcelo rochamarcelo commented Jan 6, 2020

Based on the suggested list +1 for Batch

@celsowm

This comment has been minimized.

Copy link

@celsowm celsowm commented Jan 6, 2020

Empilhadeira

@davidyell

This comment has been minimized.

Copy link

@davidyell davidyell commented Jan 6, 2020

I like Backburner, and would like to add Dawdle

@akkaweb

This comment has been minimized.

Copy link

@akkaweb akkaweb commented Jan 6, 2020

Echeleon or Kyoo or Kyu

@jeremyharris

This comment has been minimized.

Copy link
Member

@jeremyharris jeremyharris commented Jan 6, 2020

Queue is fine for me, but if we have to change it I like DelayedJob and JobRunner.

@josegonzalez

This comment has been minimized.

Copy link
Member

@josegonzalez josegonzalez commented Jan 6, 2020

I really don't want to make up a funky name. I've had enough of that in the past - I've even created a few bad plugin names myself - and it confuses what exactly the code is supposed to do. None of the official plugins have a "fun" name, so we shouldn't try to do that here either.

That said, if folks want a new name, thats also fine with me.

@LuizMarin

This comment has been minimized.

Copy link

@LuizMarin LuizMarin commented Jan 6, 2020

leaving in 'Backburner' expresses the idea well in Portuguese.

@markstory

This comment has been minimized.

Copy link
Member Author

@markstory markstory commented Jan 6, 2020

Cake\Queue\Queue\QueueExtension

This is a class I would like to rename if we keep Queue in the package name. The same word appearing three times in a row bothers me.

None of the official plugins have a "fun" name, so we shouldn't try to do that here either.

What about bake, and debugkit 😄

@delamux

This comment has been minimized.

Copy link

@delamux delamux commented Jan 6, 2020

TaskDispenser

@josegonzalez

This comment has been minimized.

Copy link
Member

@josegonzalez josegonzalez commented Jan 6, 2020

@markstory those are grandfathered in :P

  • Queue\Queue\QueueExtension: Could probably be split into Queue\Consumption\MaxIterationsExtension and Queue\Consumption\MaxRuntimeExtension (Consumption is the higher-level namespace upstream)
@EliW

This comment has been minimized.

Copy link

@EliW EliW commented Jan 7, 2020

Surprised there are few suggestions that stay on theme.

Baker
Bakery
Conveyer
Conveyerized
Mixer
Oven

Not saying any/all of those are good. But they are fun and play with the Cake theme. And can all be justified to mean queue / ‘taking steps’ / ‘doing things in sequence’

@ADmad

This comment has been minimized.

Copy link
Member

@ADmad ADmad commented Jan 7, 2020

Fun name: BackBurner
Not fun but not boring name: Deferred
Boring but functional and descriptive name: JobQueue/JobRunner

Irrespective of the name I would prefer Cake as top level namespace.

@butaevg

This comment has been minimized.

Copy link

@butaevg butaevg commented Jan 7, 2020

Tasker - short and clear.

@josbeir

This comment has been minimized.

Copy link

@josbeir josbeir commented Jan 7, 2020

I vote Async or Deferred or just use a derivative of Queue like Enqueue as mentioned above.

As this will be an official library a fancy name like BackBurner is too non-descriptive and a bit lame tbh ;-)

@Tiborhajos

This comment has been minimized.

Copy link

@Tiborhajos Tiborhajos commented Jan 7, 2020

I also strongly prefer a functional name above a fun name, as the latter obfuscates meaning.

Personally I see nothing wrong with Queue, as that is exactly what it is. Perhaps it could be Enqueue after the name of the extension.

If I absolutely have to pick from the provided options, I would go with @ADmad 's improvement of JobRunner: JobQueue/JobRunner

@Zwartpet

This comment has been minimized.

Copy link

@Zwartpet Zwartpet commented Jan 7, 2020

Functional names are for people who can't read code/documentation :D
Cake/Layers

@Tiborhajos

This comment has been minimized.

Copy link

@Tiborhajos Tiborhajos commented Jan 7, 2020

@Zwartpet I see what you did there 😄

@markstory

This comment has been minimized.

Copy link
Member Author

@markstory markstory commented Jan 7, 2020

I like 'Conveyer'. It helps communicate that we're moving work somewhere else and hits a good balance of fun and literal.

My concern with Async/deferred is that those terms have very clear meanings in adjacent technologies. They are used in Javascript, python and golang to mean something quite different than what this code does.

@ADmad

This comment has been minimized.

Copy link
Member

@ADmad ADmad commented Jan 7, 2020

Cake\Conveyor works for me.

@josegonzalez

This comment has been minimized.

Copy link
Member

@josegonzalez josegonzalez commented Jan 7, 2020

I don't know that seeing "Conveyer" on the sidebar in the docs will tell me enough to know that Cake supports queuing.

@ADmad

This comment has been minimized.

Copy link
Member

@ADmad ADmad commented Jan 7, 2020

Seeing just "queue" doesn't tell you either that it's a job queue. There are other queues too, for eg. the middleware queue.

@burzum

This comment has been minimized.

Copy link
Member

@burzum burzum commented Jan 8, 2020

Please something simple and clear that expresses what it is:

  • Cake\Queue
  • Cake\JobQueue

Especially names like "async" and "deffered" make me think it's a promise / async library but clearly not a queue.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
You can’t perform that action at this time.