zlacker

[return to "River: A fast, robust job queue for Go and Postgres"]
1. sorent+A41[view] [source] 2023-11-20 20:09:07
>>bo0tzz+(OP)
The number of features lifted directly from Oban[1] is astounding, considering there isn't any attribution in the announcement post or the repo.

Starting with the project's tagline, "Robust job processing in Elixir", let's see what else:

  - The same job states, including the British spelling for `cancelled`
  - Snoozing and cancelling jobs inline
  - The prioritization system
  - Tracking where jobs were attempted in an attempted_by column
  - Storing a list of errors inline on the job
  - The same check constraints and the same compound indexes
  - Almost the entire table schema, really
  - Unique jobs with the exact same option names
  - Table-backed leadership election
Please give some credit where it's due.

[1]: https://github.com/sorentwo/oban

◧◩
2. Thaxll+nZ1[view] [source] 2023-11-21 01:04:47
>>sorent+A41
As if Oban invented anything, like queues on RDMS is not a new concept at all. Oban is 4 years old, do you know how many queues baked by DB were created in the last 10years?

I don't see Sidekiq credited on the main page of Oban.

◧◩◪
3. sorent+V22[view] [source] 2023-11-21 01:28:14
>>Thaxll+nZ1
I’d argue strongly that Oban did invent things, including parts of the underlying structure used in River, and the authors agree that it was a heavy influence.

While there is no overlap in technology or structure with Sidekiq, the original Oban announcement on the ElixirForum mentions it along with all of the direct influences:

https://elixirforum.com/t/oban-reliable-and-observable-job-p...

[go to top]