Union of the Snake
summary
A BEAM-inspired Oban implementation for Python is built from scratch, not a wrapper, recreating Oban semantics with TOML config, raw SQL queries, a CLI worker process to avoid the GIL, and async loopers that mimic GenServer behavior but lack true monitors and restart strategies. Cross-process notifications use a Postgres-backed shared jobs table and PubSub so Elixir and Python can enqueue each other. Tests run slower (Python Postgres suite 7.8s vs Elixir 3.4s). It works broadly but is Postgres-only and relies on Pro for process pools.
AI-written summary · about
chapters (12)
- 0:00Union of the Snake intro
- 1:47Porting Oban from Elixir to Python
- 4:35Python config challenges
- 7:26Database ORM fragmentation
- 10:33Python tooling limits
- 13:43Python’s GIL explained
- 15:49Initializing Oban in Python
- 17:57Async IO and supervision
- 21:49Loopers and gen_server adaptation
- 25:18PubSub cross-process
- 29:10Elixir Python ecosystem union
- 30:58Oban Python future
related talks
41mTalk Python To Me: Stream Processing in your favorite language with Beam on Flink
30mAn Admin's Cornucopia - Python Is More Than Just A Better Bash
44mDo Pythons Rust? How we used PyO3 to build a Python Stream Processor w/ a Rust Heart
42mBuilding a hosting platform with Python
01h 07m🐍 Python meets the crab 🦀 - Friendship at first sight?
49mPostgreSQL - the database-sister of Python
29mUnified batch and stream processing in python
29mTunnel Snakes Rule! Bringing the many worlds of Python together to monitor Melbourne's biggest infra
