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.
Parents
  • I believe if one refresh is already ongoing then the subsequent call will be ignored.

  • Hi Craig, would you be able to confirm that? 

    Also, assuming it does the ignore.. Are there any events that get firred when it finishes the refresh or updates the value list?

    E.x.: MFEventHandlerAfterRefreshValueList

    E.x.: MFEventHandlerAfterExternalSourceRefresh

    Feature Request: I think MFEventHandlerAfterExternalSourceRefresh should be added as an event if it doesn't exist

  • I have queried this from our product team.  I will raise a tracker item for these events later today.

  • Hi Craig, thank you!

  • I had a response from the product team that subsequent calls will queue up a further refresh when the current one completes, but there can only be a maximum of one in that queue. 

    What I mean is consider a situation where a refresh takes five minutes. If you ask for a refresh to be done after 60s, then again after 60s, then again after 60s, the system will queue up a single refresh for after the current one completed.

    You would probably want to think about this a little though. Depending upon the frequency of these events you could get into a situation where the system is almost constantly refreshing.

Reply
  • I had a response from the product team that subsequent calls will queue up a further refresh when the current one completes, but there can only be a maximum of one in that queue. 

    What I mean is consider a situation where a refresh takes five minutes. If you ask for a refresh to be done after 60s, then again after 60s, then again after 60s, the system will queue up a single refresh for after the current one completed.

    You would probably want to think about this a little though. Depending upon the frequency of these events you could get into a situation where the system is almost constantly refreshing.

Children
No Data