oban-thinking
Installation
SKILL.md
Oban Thinking
Resumo (pt-BR): Job args são JSON—atoms viram strings no perform. Deixar erros subirem (let it crash) para retry e logging. Oban Pro: context de cascade preserva atoms; use graft para esperar sub-workflows; recorded: true para valores entre steps.
Paradigm shifts for Oban job processing. These insights prevent common bugs and guide proper patterns.
The Iron Law: JSON Serialization (Oban non-Pro)
JOB ARGS ARE JSON. ATOMS BECOME STRINGS.
In perform/1, use string keys: %{"user_id" => user_id}. Creating jobs with atom keys is fine; processing must use string keys.
Error Handling: Let It Crash
Don't catch errors in Oban jobs. Let them bubble up for automatic logging, retries, and visibility in Oban Web. Only catch when you need custom retry logic or permanent failure: {:cancel, reason}, {:snooze, seconds}.