Hey folks! I'm working on https://github.com/msolli/proletarian/issues/19, and I could use some feedback from you.
The issue is that the timestamps written by Proletarian (both workers and enqueuing applications) aren't properly normalized to UTC when written to the database. I thought they were, but as described in the issue, they most definitely are not.
If your workers and application instances are all in the same time-zone, this does not cause any problems. But with the fix I'm working on, there's going to be some work to do when you upgrade Proletarian for anyone who has workers or application instances that have effective time-zone other than UTC.
The upgrade is going to involve downtime and a database migration, but again, only if your infra is not already set to use UTC. If you need to check, you can run the following code in your production environment:
(.getID (java.util.TimeZone/getDefault))
If this returns "UTC" you're all good.
I'm going to provide a config option to preserve the current behavior (writing timestamps in the local, for the instances, time-zone), if everything is working fine for you and you don't want to bother with any of this.
If you have any advice or insight into how to make this breaking change as gently as possible, please let me know, either here or in the https://github.com/msolli/proletarian/issues/19.
Agreed with the last comment from jsn, if this is more of an operational problem then it should be handled as a "breaking change" with big warning flags in the docs (for people who do actually read them...) I think you'll go crazy trying to code all the situations/edge cases, however the config option to keep current behavior seems acceptable to me.