as the most of you know, I am working on a prototype of a mobility platform. Mostly I use mobility requests and mobility offers. At the moment I can read mobility requests from a csv (simulation of the user interface) and get the required data to answer these requests through processing in Odysseus. Furthermore I can read mobility offers from a csv file and store this information.
Now I want to do the following: Instead of answering a mobility request once some requests (with a special attribute value) should be examined for a period of time (like an search agent). A mobility request could be valid for a specific time period. The start and the end timestamp could be stored in the payload of a tuple. Alternatively one could store how long the request is valid (starttimestamp + delta = endtimestamp). If a new mobility offer comes in, the currently valid mobility requests should be processed again to check if there are new relevant offers for these requests.
I have some ideas to do that, but the first idea was to set the end timestamp based on a payload attribute. I tried to use the ENDTIMESTAMP during creating the source or the timestamp operator to add the end timestamp based on a timestamp in the payload. I always get the error message:
Code: Select all
'Parsing and Executing Query' has encountered a problem. Script Execution Error: transformation failed ; You cannot use start and end parameters for system time processing
Alternative ideas would be to use the context store or a database for storing mobility requests that should be checked again later on.
My question is mostly about what is the preferred way to do that in Odysseus and why I cannot set the endtimestamp. I understand that the csv source does not provide a starttimestamp and therefore the system time is used for processing, but why it is not possible to use (a different) system time as end timestamp?
thanks & greetings,