Reframework - Possibility to postpone failed transaction for retry when System exception occurs

When a queue item fails within the Ref Framework the item will be retried immediately.
Is it possible to postpone the retry ? Because if a system is down for a number of minutes, it would be nice to configure a retry delay, otherwise the chances to fail repeatedly are high.

Hi,

you could use the “Postpone Transaction Item” activity when a transaction fails, for example in the “SetTransactionStatus” workflow, and set the “Postpone” propriety with a new date-time, that indicates when the transaction should run next time.

Regards, Gio

I tried how you suggested, Even if somehow it worked it is not what I would expect to be, since the postponed items are started by their own scheduler after 30 minutes, even If I put the postpone date to be less, and is not really helpful in my scenario. [source: Creating a postponed Queue Item Not working as expected - #9 by badita]. I would like to be able to configure a shorter time. Also testing the postpone activity is very painful because of this delay.

Another thing that is not what I would expect is that the queue item is set on status “New”, but in the history of the queue item, the exception message is not showed in the Orchestrator, so for troubleshooting purpose will be hard to identify the reason why it failed in the first place.

@badita Do you know if I can “configure” somehow the delay to be less than 15/30 minutes?

Hi,

and why don’t you let fail the actual transaction and create a new transaction with “Add Queue Item” setting the date-time of the execution? So you have the exception message showed in the Orchestrator and a new transaction ready to start when you want.

Hope it helps, Gio

As per their documentation the status is set on New when:

  • New - the item has just been added to the queue with the Add Queue Item activity, or the item was postponed, or a deadline was added to it, or the item was added after an attempt and failure of a previous queue item with auto-retry enabled. [Queue Item Statuses]

So it is set on New by the retry mechanism and also by the postpone status change.
And that is ok, but is very confusing that the exception message will be visible only when all retries are consumed. At least the way it is right now in the framework, without any postpone, the queue items are immediately retried and the exception messaged will be visible for troubleshooting in a short time. Otherwise, for postponed items I will have to wait for all the postponed retries to execute, in order to find out the exception message.