←back to thread

570 points davidgu | 2 comments | | HN request time: 0.504s | source
Show context
sorentwo ◴[] No.44525509[source]
Postgres LISTEN/NOTIFY was a consistent pain point for Oban (background job processing framework for Elixir) for a while. The payload size limitations and connection pooler issues alone would cause subtle breakage.

It was particularly ironic because Elixir has a fantastic distribution and pubsub story thanks to distributed Erlang. That’s much more commonly used in apps now compared to 5 or so years ago when 40-50% of apps didn’t weren’t clustered. Thanks to the rise of platforms like Fly that made it easier, and the decline of Heroku that made it nearly impossible.

replies(3): >>44525640 #>>44526115 #>>44535609 #
alberth ◴[] No.44526115[source]
I didn’t realize Oban didn’t use Mnesia (Erlang built-in).
replies(1): >>44526299 #
sorentwo ◴[] No.44526299[source]
Very very few applications use mnsesia. There’s absolutely no way I would recommend it over Postgres.
replies(3): >>44526730 #>>44527665 #>>44528009 #
1. arcanemachiner ◴[] No.44526730[source]
I have heard the mnesia is very unreliable, which is a damn shame.

I wonder if that is fixable, or just inherent to its design.

replies(1): >>44527065 #
2. sb8244 ◴[] No.44527065[source]
My understanding is that mnesia is sort of a relic. Really hard to work with and lots of edge / failure cases.

I'm not sure if it should be salvaged?