This discussion has been locked.
You can no longer post new replies to this discussion. If you have a question you can start a new discussion

Can /structure/objecttypes/(type)/refreshstatus be called concurrently?

Two questions... We need to perform an update when things get renamed in our database.

  1. Is it ok if this is called concurrently? E.x.: There are two SQL sessions going on at the same time and they both rename things which causes us to make two REST API calls for the same value list.
  2. Assuming it's ok to make the calls concurrently, will m-files queue them up so they get processed sequentially? Assuming it's for the same value list.
  • So, again, this is where I would perhaps point you back towards the team that helped you with your M-Files build.  They may be able to look at this at a more architectural level and help you design something that will achieve what you want.

    Fundamentally the external object type data source is not designed to work that way.  It is designed to periodically perform an asynchronous synchronisation.  You can change the period, and you can optimise the SELECT query to return deltas, but fundamentally it's designed to retrieve data, identify differences, update, wait, then do it all again.  Changes between those synchronisations are not known to M-Files.  Yes: you can kick off that synchronisation before the interval has elapsed via the API or the UI, but it's still designed to be a "fire and forget" process.

    I just fear that what you really want to achieve here is not how the external object type data source approach works, and you won't be able to beat it into submission.

    If you want complete control over when and how the data is synchronised then I am sure that the delivery team would help you consider what the approach I outlined above would bring.  It changes the driver of the operation away from the external object type data source and into EventBridge, making it responsible for all of the synchronisation logic, not just kickstarting a process in M-Files.  Alternatively you could use something like the Vault Application Framework to do something similar, whereby you have complete control over the entire synchronisation logic.

    There is still the chance that I have misunderstood what you're trying to achieve.  That does happen on forums sometimes.  If so then I'm sorry.