Retry mechanisms for application based on timing of the day

Which IIQ version are you inquiring about?

8.5

Share all details about your problem, including any error messages you may have received.

Hi all,

Would like to check if it is possible to add retry mechanisms in an application to allow it to retry in a time based approach?

Because I have an application which has daily scheduled downtime. If the approver were to approve the request during the downtime it will fail.

Is there any ootb mechanism we can retry the request when the target system downtime is over?

Hi @shijingg ,

Based on your environment and requirement, you can enable maintenance mode and configure Provisioning retry mechanism for applications with error known messages.

Hi @shijingg ,

You can put retry mechanism for your application like below , You can put your error in error, in 1, 2 , 3 4 for which you want to retry provisioning.

<entry key="provisioningMaxRetries" value="5"/>
      <entry key="provisioningRetryThreshold" value="5"/>
      <entry key="queryInClauseRange" value="64"/>
      <entry key="retryableErrors">
        <value>
          <List>
            <String>erro1Server is not operational</String>
            <String> Error2</String>
            <String>Error 3 </String>
            <String>Error 4.</String>
          </List>
        </value>
      </entry>

@shijingg There are few ways:

  • You can keep the OOTB retries settings and set the provisioningMaxRetries=12 and provisioningRetryThreshold to 60, means it will retry every hour for 12 times. By doing this, your request will process as soon as your application comes up (considering downtime is less than 12 hours).
  • You can write a before provisioning rule, where you can review the time of the day and if it s downtime, you can schedule a workflow to execute your plan later on they day when system will come up.

Note: Found a fix?Help the community by marking the comment as solution. Feel free to react(:heart:,:+1:, etc.)with an emoji to show your appreciation or message me directly if your problem requires a deeper dive.

There is no way to schedule recurring maintenance mode in IIQ. It can be set for indefinite or fixed time.

As other have explained, what you need it determine what kind of error you get when the target application is down and configure them as retryable error with sufficient max retry so that it covers the downtime and has alteast one try after down time.

Hi @shijingg - I’d create a custom task to put apps with downtime in maintenance mode during their scheduled downtime period. Here’s how it would work at a high level:

  • Run a task to schedule a workflow to execute at the start of the downtime window
  • The workflow would set the app into maintenance mode
  • Set the expiration of the maintenance period to be when the downtime period ends

This way you will not have to continuously retry provisioning during down time periods and be able to manage these maintenance periods on a schedule.

Hope this helps!

This post was answered by a Palyrian Solutions Architect. Feel free to message me directly if your problem requires a deeper dive.
:globe_with_meridians: palyrian.com | :telephone_receiver: ‪(301) 284-8124‬

Hello,

Is provisioningMaxRetries=12 the maximum number of retries? Because one of the system’s downtime is 12hrs 15mins just abit over 12 hours.

provisioningMaxRetries this represent the maximum number of retries.. and provisioningRetryThreshold: duration between two retries.

if it is down for 12 hours.. you can try setting provisioningMaxRetries=6 and provisioningRetryThreshold = 180, it means IIQ will try every 3 hour to do the provisioning, in case application comes up early, you should see the provisioning within 3 hours.. for 12 hours, in 5th retry, between 12th-15th hours it should provision.