@sorentwo
I have tried all 3 mentioned points but all were positive for me. However i have some new observations.
- If the job is not created with scheduled_at, then it will be in
available
state in DB. Now if i run Oban.drain_queue(queue: "queue_name")
in iex then those get executed and moved to completed
.
- Also interestingly when i check the Stager process state it doesn’t have any plugins or queues in it’s state
%Oban.Stager{
conf: %Oban.Config{
dispatch_cooldown: 5,
engine: Oban.Pro.Engines.Smart,
get_dynamic_repo: nil,
insert_trigger: true,
log: false,
name: Oban,
node: "T4Ds-MacBook-Air",
notifier: {Oban.Notifiers.Postgres, []},
peer: {Oban.Peers.Isolated, [leader?: false]},
plugins: [],
prefix: "global",
queues: [],
repo: Glific.Repo,
shutdown_grace_period: 15000,
stage_interval: 1000,
testing: :disabled
},
timer: #Reference<0.418926374.546832389.242625>,
interval: 1000,
limit: 5000,
mode: :local
}
But when i downgrade to older version of project (old elixir/erlang + old package versions as mentioned in the post)
Then the Stager process does have queues and plugins loaded in its state.
%Oban.Stager.State{
conf: %Oban.Config{
dispatch_cooldown: 5,
engine: Oban.Pro.Engines.Smart,
get_dynamic_repo: nil,
insert_trigger: true,
log: false,
name: Oban,
node: "T4Ds-MacBook-Air",
notifier: {Oban.Notifiers.Postgres, []},
peer: {Oban.Peers.Postgres, []},
plugins: [
{Oban.Plugins.Gossip, []},
{Oban.Pro.Plugins.DynamicLifeline, []},
{Oban.Plugins.Cron,
[
crontab: [
[args: %{job: :weekly_tasks}]},
{"0 0 * * MON", Glific.Jobs.MinuteWorker,
[args: %{job: :weekly_report}]},
{"* 20-23 * * *", Glific.Jobs.MinuteWorker,
[args: %{job: :daily_low_traffic_tasks}]}
]
]},
{Oban.Pro.Plugins.DynamicPruner, [mode: {:max_age, 300}, limit: 25000]}
],
prefix: "global",
queues: [
default: [limit: 10],
dialogflow: [limit: 5],
gcs: [limit: 10],
gupshup: [limit: 10]
],
repo: Glific.Repo,
shutdown_grace_period: 15000,
stage_interval: 1000,
testing: :disabled
},
name: {:via, Registry, {Oban.Registry, {Oban, Oban.Stager}}},
timer: #Reference<0.3080533931.501219330.202487>,
interval: 1000,
limit: 5000,
mode: :global,
ping_at_tick: 60,
swap_at_tick: 65,
tick: 31
}
Any idea on this?