oban-bg / oban

💎 Robust job processing in Elixir, backed by modern PostgreSQL and SQLite3
https://oban.pro
Apache License 2.0
3.37k stars 313 forks source link

Oban MySQL + Oban Pro #1183

Closed beerlington closed 4 days ago

beerlington commented 6 days ago

Our team is interested in running Oban with MySQL and would love to help test it out. We're currently running Oban Pro 15 RC and are using the Oban.Pro.Engines.Smart engine. Is there an option for us to try this out on MySQL and still use the Pro engine?

sorentwo commented 4 days ago

Great to hear that you're interested in trying out the new MySQL engine!

The Smart engine won't work with MySQL at this point. It is built specifically for Postgres, and relies on a number of Postgres features internally. However, other parts of Pro that don't rely on the Smart engine will work (structured args, decorators, relay, etc.)

Our goal is to support all engines with Web and Pro, but we need to get MySQL tested and released before we can get there 🙂

beerlington commented 4 days ago

You mentioned that other Pro features may work. How would I go about installing Oban from the main branch and keeping Oban Pro installed?

I get this error when I have this config:

{:oban, github: "oban-bg/oban"},
{:oban_pro, "~> 1.5.0-rc.5", repo: "oban"},
{:oban_web, "~> 2.10", repo: "oban"},

mix deps.get error:

Because oban/oban_pro >= 1.5.0-rc.2 depends on oban ~> 2.18.2 which doesn't match any versions, oban/oban_pro >= 1.5.0-rc.2 is forbidden. So, because your app depends on oban/oban_pro ~> 1.5.0-rc.5, version solving failed.

sorentwo commented 4 days ago

You need to mark the :oban dependency as an override:

{:oban, github: "oban-bg/oban", override: true},
{:oban_pro, "~> 1.5.0-rc.5", repo: "oban"},
{:oban_web, "~> 2.10", repo: "oban"},
beerlington commented 4 days ago

Awesome, thanks! I'll open another issue if I have anything to report.