Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

Introduction

The JS7 - Try / Catch Instruction is Retry Instruction can be used for the error handling in a workflow. If any job runs in the try block and failed due to any reason the catch block will execute otherwise it will skip the catch block. If the catch block will also fail then the order will be considered as failed. The folder 04_ErrorHandling contains the example for the try-catch. The four workflows are available with the different use cases for the try-catch:The jsReTry workflow will retry to execute the job if it fails due to any reason. You can define no of maximum retries. If after the maximum retries the job fails then the order will be considered as failed and end the workflow. If after multiple retries the job will become successful then the order will complete successfullywithin a Retry Instruction block fails then jobs are repeatedly executed starting from the first job in the Retry Instruction block. The number of retries and delays between retries can be configured. If an error does not occur in the Retry Instruction block then the jobs are executed just once.

Workflow

The jsReTry workflow demonstrates the use of Retry Instruction blocks for error handling. In this example the job job2_b in the Retry Instruction block fails on first execution and on repeated execution generates a random number. If an even value is generated then an error has not occured and error handling with the Retry Instruction block will not be applied. If an odd value is generated then the jobs in the Retry Instruction block will be repeated. This example is configured with a maximum of 10 retries before an order is considered to have failed. Between each retry an incremented delay is applied: 2,3,4,5,6,7,8,9,10 seconds

You might have to run this workflow a number of times to find different numbers of retries with errors being caused by the random numbers.


To execute the workflow in the folder  04_ErrorHandling folder please follow the below steps:

  1. Click on the folder the 04_ErrorHandling from the and expand any of the workflows. Here I am using ErrorHandling folder and expand the jsReTry workflow.



  2. To add the an order in to the workflow . Click on click the action menu of the workflow and click on use Add orderOrder button from the drop-down menu.




  3. On clicking the When clicking Add Order. A  a popup window will appear. 
  4. You can add the an Order ID or leave the Order Id ID value blank empty, it will take the then use a default Order Id to process the OrderID. Click on the Submit button to add the Order.



  5. To check the status of the Order order click on the Workflow name with this new Order history panel will appear. name of the workflow. This will make the Order History panel appear.



  6. From the Order history History panel , you can see verify that the Order order is  successful and finished or has failed - depending on random number generation errors. Click on the Order ID to open the detail logs of executionsee log output created by jobs executed for this order.



  7. A log view window will open and the order log will be displayed. The order This log contains log output to stdout/stderr from all jobs executed by the order. 
  8. You can download the log file by clicking the Download button from in the upper right-hand corner of the log view window. Also, you can expand and collapse the individual job output using the arrow button from the left chevron icons in the upper left-hand corner of the log view window.