Skip to main content
Question

Scheduled Retry on FME-Server

  • April 29, 2020
  • 2 replies
  • 74 views

Forum|alt.badge.img

I have a workspace which fetches data from a webservice, creates a new output and then submits said output to an e-mail recipient.

Sometimes fetching the date throught the HTTPCaller fails due to the source being unavailable. Since this is an issue with a proxy which I cannot fix, I need my workspace to restart if fetching the data has failed. However, immediately retrying doesn't work because if the source is unavailable, it usually stays this way for a few minutes.

I would therefore like my workspace to run and retry after 15 minutes if fetching the data fails.

 

So far, I can think of the following solutions:

  • encapsulate the httpCaller in a custom transformer and use a loop if no data is returned. Works ok but blocks one of the server-engines as long as the data source cannot be reached. Also the delay before the next rety needs to be set within the workspace.
  • use a ServerJobSubmitter that runs the same workspace again - might lead to an endless loop. Again delay has to be set within the workspace and engine is blocked.
  • if fetching the data fails, create a one-time-schedule throught the REST API which runs the job again.
So far, the last option sounds best to me, but I feel that there should be a more elegant way of doing this. What am I missing?

 

 

This post is closed to further activity.
It may be an old question, an answered question, an implemented idea, or a notification-only post.
Please check post dates before relying on any information in a question or answer.
For follow-up or related questions, please post a new question or idea.
If there is a genuine update to be made, please contact us and request that the post is reopened.

2 replies

virtualcitymatt
Celebrity
Forum|alt.badge.img+47

if fetching the data fails, create a one-time-schedule through the REST API which runs the job again.

 

 

This is a cool idea for this problem - but you are right there must be a better way. Seems like there needs to be a "wait" function in the Automations list. That would help you.

 

 

In FME 2020 there is a HTTP call as an automation option. Perhaps there is some way you can use that as an advantage. Ping the service at regular intervals to see if it's active?

Forum|alt.badge.img
  • Author
  • April 29, 2020

if fetching the data fails, create a one-time-schedule through the REST API which runs the job again.

 

 

This is a cool idea for this problem - but you are right there must be a better way. Seems like there needs to be a "wait" function in the Automations list. That would help you.

 

 

In FME 2020 there is a HTTP call as an automation option. Perhaps there is some way you can use that as an advantage. Ping the service at regular intervals to see if it's active?

I'll check out the http call within automations as soon as we have upgraded to the 2020 version. I just seems odd to me, that I cannot find a nicer way to do this.

A "wait" option in automations might be nice for other use cases too.