mendix / ProcessQueue

This module enables you to control the amount of these microflows that are executed at once by assigning them to queues. Each of these queues can be configured to handle a subset of these microflows and you can also set a limit to the number of microflows each queue can execute at once. This allows you to control the maximum load put on your application during peak usage by these microflows while still ensuring all microflows will be executed eventually. The queues use a FIFO approach (first-in, first-out) and will automatically restart themselves (and any microflows still left to execute) after a server restart.
1 stars 14 forks source link

DateTime attribute session value not available when executed from queue #13

Open dkho87 opened 5 years ago

dkho87 commented 5 years ago

I noticed the following in Mendix 7.23.4 with the latest version of the ProcessQueue module:

We have a Synchronisation entity with an attribute of type DateTime, with Localized = yes. For example purposes, let's say that a value was stored as UTC 28-06-2019 12:07. Our project is setup with timezone Europe/Amsterdam.

If we try to access the attribute's values from a system (scheduled event) or user context (invoked by user), we get the data available that I expect, namely: UTC 28-06-2019 10:07 vs. Session time 28-06-2019 12:07

However, from a process triggered by the queue, the following values are available: UTC 28-06-2019 10:07 vs. Session time 28-06-2019 10:07

Is this intended behaviour? If so, why is there no mention of this in the documentation, or did I overlook something?

jaspervanderhoek commented 5 years ago

The module uses the mendix system context to execute all actions. When developing the assumption was that the system context always has the session time zone that is specified for scheduled events (the setting you configure in the project settings).

I can check if there is an API available to influence the time zone of the system context, but if I remember correctly that doesn't exist.

In short, I was under the same expectation regarding the session time zonr. But was assuming the default platform behavior could cover this. I'm going to take a look if I can influence the default behavior but I'm not sure the option exists. It might have to become documented behavior.

On Mon, Jul 1, 2019, 11:25 AM Dennis Kho notifications@github.com wrote:

I noticed the following in Mendix 7.23.4 with the latest version of the ProcessQueue module:

We have a Synchronisation entity with an attribute of type DateTime, with Localized = yes. For example purposes, let's say that a value was stored as UTC 28-06-2019 12:07

If we try to access the attribute's values from a system (scheduled event) or user context (invoked by user), we get the data available that I expect, namely: UTC 28-06-2019 10:07 vs. Session time 28-06-2019 12:07

However, from a process triggered by the queue, the following values are available: UTC 28-06-2019 10:07 vs. Session time 28-06-2019 10:07

Is this intended behaviour? If so, why is there no mention of this in the documentation, or did I overlook something?

— You are receiving this because you are subscribed to this thread. Reply to this email directly, view it on GitHub https://github.com/mendix/ProcessQueue/issues/13?email_source=notifications&email_token=ACDZYUSMM2GW34ZWXDCRXXLP5IOWTA5CNFSM4H4TQVS2YY3PNVWWK3TUL52HS4DFUVEXG43VMWVGG33NNVSW45C7NFSM4G4VNIZA, or mute the thread https://github.com/notifications/unsubscribe-auth/ACDZYUVXW7FWI5UQNJOSRSDP5IOWTANCNFSM4H4TQVSQ .