Versions Compared

Key

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

Introduction

The JS7 - Lock Instruction specifies the number of jobs for mutual exclusion to prevent such jobs from parallel execution. Exclusive Locks in the workflow block the resource and wait before executing another job until the locks are not released by the processmutually exclusive jobs, i.e. it limits parallel execution of jobs. Resource Locks in a workflow are used to limit job access to resources and to force orders to wait before executing a job. Orders wait until the Resource Lock is released by other jobs holding the Resource Lock. There are two types of locks Resource Locks available in the with JS7:

  • Exclusive Resource Lock: only one Lock Instruction can hold the Resource Lock at any given time. Any further Lock Instructions that try to acquire the same Resource Lock have to wait.
  • Shared Resource Lock: the Resource Lock is assigned a limit that can be shared by a number of Lock Instructions. Each Lock Instruction carries a weight that counts towards the Resource Lock's limit.


Workflow

In the jdSharedLockSerial workflow shared lock a Shared Resource Lock is used. In the workflow, the lock Resource Lock has a limit through which it shared the lock instructionto the number of times it can be shared across Lock Instructions. In the workflow, the parallel execution is performed with the help of a shared lock and with an assigned limit on the lockby Shared Resource Locks within the limit assigned to the Resource Lock.

To execute the workflow in the folder 06_MutualExclusion please follow the steps described below steps:

  1. Click on the folder 06_MutualExclusion from the and expand any of the workflows. Here I am using the jdSharedLockSerialand expand the jdSharedLockSerial 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. If you add a second order to the workflow, you can see that the Resource Locks are acquired and retained by the jobs executing the first order and that any jobs for the second order have to wait until the Resource Locks are released.



  6. 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.



  7. From the Order history History panel , you can see verify if the Order order is successful and  hasfinished. Click on the Order ID to open the detail logs of executionsee log output created by jobs executed for this order.



  8. 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. 
  9. 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 all job output using the arrow button from the left chevron icons in the upper left-hand corner of the log view window.