News for hackers. Stuff that matters.
Re:How we got to LiveView by davidw on Wednesday September 22, 2021 @06:59PM (#28623133)
Looking more at things like #2. Sidekiq isn't terrible though, and if you get big enough, you're going to want some more management than just spawning a BEAM process to do something. What have people settled on for that with Elixir/Erlang?
Re:How we got to LiveView by hanrelan on Wednesday September 22, 2021 @07:08PM (#28623211)
You could use something like oban: https://github.com/sorentwo/oban
Re:How we got to LiveView by tptacek on Wednesday September 22, 2021 @09:14PM (#28624139)
Sidekiq is great, but it is a thing you have to think about (in particular, how you're shuttling state from workers to a place where front-end can see it). The big win with Phoenix as I understand is not having to think about it at all: it has a natural expression in the language and the platform, and that expression is performant.
Re:How we got to LiveView by davidw on Thursday September 23, 2021 @12:34AM (#28625245)
If it's just a small fire and forget thing in Erlang, you can just spawn the process, sure. My point is that once people start to care about what happens with those background jobs, you probably need some infrastructure around them, and then the Erlang thing might start to resemble Sidekiq a bit more.
Re:How we got to LiveView by joelbluminator on Thursday September 23, 2021 @04:10AM (#28626498)
This.

"When we want to have more control, i.e. persistence on disk, a workers pool, retries, among other things, there are several popular solutions:

Oban: a robust PostgreSQL-based queue backend process system. It has a UI in its pro version Exq: a Redis-based Resque and Sidekiq compliant processing library. It has an open source UI exq_ui verk: same as Exq. Is is compatible with Resque and Sidekiq job definitions"

https://sipsandbits.com/2020/08/07/do-we-need-background-job...

So basically sounds to me like Elixir is doing pretty much the same thing as Ruby. We usually do want more control and disk persistence, so...