If we have a backend workflow that is using a parameter that is a custom data type, and we have as an action for the backend workflow to do something with a conditional that looks to the parameter (which is a data type) for a field value, is that field value going to be evaluated based on what the value was at the time the backend workflow was scheduled, or is it going to evaluate the conditional with real time data.
For example, if I schedule a backend workflow on a data type called Booking, and that data type has a field of type text, and at the time of scheduling the backend workflow the field value was Lost, and on the action in the backend workflow there is a condition to only run the action if the field value is not Lost. This backend workflow is scheduled to run 1 month from the current date and time.
Then within the month, the field value changes from Lost to Found. Will the action that is in the backend workflow run and evaluate the condition of ‘field value is not Lost’ to true, or will it have a ‘cached’ value for the field of Lost, which is the value at the time of scheduling, but not at the time of running the backend workflow, so the action will not run, and the condition will be evaluated to false.
I ask this because I would assume the condition on the action would evaluate on the real time data values of the parameter, and not have a cached value. But, in my app an infinite loop has occurred on a backend workflow, because it would seem the condition was evaluating based on a cached value, because as I saw the infinite loop occuring in the logs, and I check against the database entry, I can see the data field in the database has a value that should not allow the action to run, but the action runs, and part of the series is to schedule the same backend workflow for a future date based on a field value, which from the logs would need to be empty for the infinite loop to occur, but in the database the entry has a field value that should have the backend workflow scheduled for the following month, but it just kept scheduling and looping.
I deleted the backend workflow entirely from the live version to stop the infinite loop and the consumption of WUs but curious if I have a mistaken concept of how it should work versus how it actually works.