Which Ports does Oban Need?

Hello, everyone!
I have a Phoenix 1.7 app with Oban as a dependency running in a Fargate container behind an application load balancer on AWS.
I tried allowing only incoming TCP from the ALB and the DB into the app container, but I get this in the logs:

** (EXIT) time out
(stdlib 5.2) gen.erl:276: :gen.do_call/4
(stdlib 5.2) gen_statem.erl:923: :gen_statem.call/3

(postgrex 0.17.4) lib/postgrex/simple_connection.ex:217: Postgrex.SimpleConnection.call/3
(oban 2.17.3) lib/oban/peers/postgres.ex:82: Oban.Peers.Postgres.handle_continue/2

(stdlib 5.2) gen_server.erl:1085: :gen_server.try_handle_continue/3
(stdlib 5.2) gen_server.erl:995: :gen_server.loop/7
(stdlib 5.2) proc_lib.erl:241: :proc_lib.init_p_do_apply/3
Last message: {:continue, :start}

[error] GenServer {Oban.Registry, {Oban, Oban.Midwife}} terminating
** (stop) exited in: :gen_statem.call(#PID<0.3572.0>, {{:listen, #PID<0.3575.0>, [:signal]}, #PID<0.3575.0>}, 5000)
** (EXIT) time out

When I open up the Fargate container to all TCP from any IP, things seem to work.
I’m confused by this because I assumed Oban only needed the Postgres port (5432 default), but I haven’t been able to find any documentation on it. What am I missing?

Thanks in advance for your help! :slight_smile:

That error is from Oban.Notifiers.Postgres failing to connect. It uses the exact same Ecto config and takes the connection on startup.

I’d guess that if you were to test from an iex session without starting Oban, that Ecto can’t connect or run queries either.

2 Likes

Yes, I think I posted this question early. The app seemed to be working, but was not actually connecting to the DB.
Thank you so much for responding, and I’m sorry for bothering you with this!
I will fiddle with the configs until I have things connected properly!

1 Like