Today we’re releasing Oban for Python. Not an Oban client in Python. Not a pythonx wrapper embedded in Elixir. Nope, it’s a fully operational, PostgreSQL backed, typed, async, pythonic-as-we-could-muster implementation of Oban in Python…
If you’re not interested in reading the whole article:
Oban has been a main pillar for the Elixir applications I’ve worked on. It has proven itself to be extremely reliable and well thought. Glad to see it expanding to other ecosystems.
Indeed, taken from the article , in the interop section.
"It’s entirely possible to enqueue jobs from an Oban instance running in Elixir and run them in Python, or vice-versa!
In fact, recorded job output is stored in erlang term format, so you can retrieve output from jobs run in an entirely different platform. Since the PubSub notification format is identical, it’s even conceivable to pause/resume/scale queues running on heterogeneous nodes."
Huh, that’s pretty cool. So you could have a Python app generating jobs and then have an Elixir app consuming them, or vice-versa? I could see that being useful in both directions.
Rooting that some day JS will also get Oban integration. Right now I’m using BullMQ there, but I’d rather go with Oban given the choice (I don’t like the fact that BullMQ uses backend without good persistance).
That’s really amazing, happy to see you extending Oban.
By any chance are you thinking about a Java/Kotlin version? We found our self reaching to Java for some special cases and would be great to have a reliable Oban jobs in Java!
Thank you for the kind words and encouragement! We have many thoughts/roadmaps and strive to develop and make. If and when we do, you’ll read, commiserate, give feedback.. here!