lamxw2
SmartEngine Producer doesn't work after changing sys_env in DynamicQueue
Hi, I’ve been running Oban on my local terminal while connected to staging env. In my local staging config, I’ve set my dynamic queues to run only on {:sys_env, "EX_LOCAL", "local"}. In the actual staging config, it runs on a different sys_env variable.
My branch starts up fine on my laptop, but not for my coworkers who run my branch on the staging sys_env. From viewing the oban_producers table, I can see that all the producers related to what I am working on were created under a node referencing my laptop.
My code checks for Registry.lookup(Oban.Registry, {Oban, {:producer, <queue_name>}}) on startup, looping in 1s increments for 5s, and times out after. I have to check that the producer is available because I update rate_limit dynamically on app startup. It worked for me because it was able to find a producer for that node, but it did not create producers under the staging kubernetes node (? not very sure about terminology), so it fails for my coworkers.
I’m not really sure what to do here, is there a producer creation refresh after a certain elapsed time? This shouldn’t cause any issues on prod I think, but I’m still concerned.
Marked As Solved
sorentwo
Old producer records are cleaned up automatically by other producers after they’re stagnant for a little while. There’s absolutely nothing to worry about for prod.
It’s no surprise that running on a staging database with local nodes and sharing that environment with other devs has caused unexpected situations ![]()







