If I call Oban.pause_all_queues()
and restart my Elixir application, when it comes back up, will the queues still be paused?
I’m guessing that the paused/running state is stored in the db and therefore the answer is yes. But the fact that you can pause/resume per node makes me less certain. Maybe the db stores a map of paused states per node and queue?
Only with DynamicQueues
, because those have options persisted in the database. Regular OSS queues don’t persist any state, so in that case, no.
Then a limit
change or pause
is scoped to a single node it isn’t persisted. Changes are only persisted when it applies to all nodes. Storing a map of options would only work in very simple setups where the node name is re-used across deployments and restarts and there isn’t any scaling.
2 Likes