Process queue - time zone handling in the background
Hi guys, Can anyone suggest a clean and easy workaround for Process queue module, that would mimic the functionality that is by default present in community supported Queue module: Set the TIMEZONE_ID constant if you would like to use a specific time zone during executions of microflows from the queue. By default, GMT will be used. This feature is equivalent to the setting Scheduled event time zone, but applies only to microflows executed by the Queue. Google Java TimeZoneIDs to browse possible values or check your System.TimeZone database table (the Code attribute equals the Java TimeZoneID). The value for The Netherlands should be Europe/Amsterdam. The problem is that sometimes, you need background job to have a local time zone when working with dates and in process queued actions once they are triggered, there is no session, no user and his timezone, hence the module always uses UTC. That can be problematic and will force you to have a lot of workarounds/conversions between dates if the microflows are generic and used both from page and from background...
Workaround would be that in the microflow you use the community commons execute as user function. You then execute the microflow in the context of that user with his timesetting, language etc. So create an in between microflow that retrieves the user and execute the original microflow from the queue.