You are viewing an old version of this page. View the current version.

Compare with Current View Page History

« Previous Version 6 Next »

Introduction

  • The outage of an Agent will stop the execution of workflows with that Agent. Workflows running with Agents that remain available are unaffected.
  • Workflows that miss their scheduled execution date will be executed when the Agent becomes available.
  • Testing by SOS includes to perform tests for the scenario when an Agent becomes unavailable for 24 hours. The test includes to move the Agent's journal files to a new Agent after the 24 hours outage and to modify the Agent registration with JOC Cockpit. Then the new Agent executes any outstanding workflows of the previous day and any newly added orders.

  • For information about the behavior in case of outages see JS7 - FAQ - What happens to workflows in case of outage of an Agent?

Troubleshooting

The Agent is the component in JS7 that executes the workflow, stores information about execution results and order state transitions in its journal and passes results to the Controller. The outage of an Agent prevents execution of workflows.

An Agent outage can be handled either by resolving the issue with the current Agent, e.g. by restarting, or by relocating the ./state directory to a different Agent provided that access to the same scripts and programs is available that should be executed. The journal of the Agent is stored in the ./state directory. To relocate the journal to a different Agent copy the journal files to the target Agent.

Relocating the Agent's Journal

If Agent1 is facing an outage and Agent2 is running - on the same server or on a different server - then follow the below steps to relocate the Agent's journal from Agent1 to Agent2:

  1. Shutdown Agent2.
  2. Copy the files from the ./state folder of Agent1 to the respective folder of Agent2. 
  3. Start Agent2.
  4. Consider that the Agent URL is not the same for Agent1 and Agent2.  Therefore the URL has to be updated in the JOC Cockpit.
  5. To change the Agent URL, login to the JOC Cockpit.
  6. From the main menu select the item "Manage Controllers/Agents".
  7. Make sure you edit the existing Agent1 which is not in service.
  8. Change the Agent1 URL to point to the Agent2 URL.
  9. When workflows are confirmed to work with Agent2 then drop or move the contents of the ./state directory of Agent1. This an important step as otherwise Agent1 will execute the same workflows should it be started later on. This would result in double job execution that might be harmful depending on the nature of your jobs.



Notes:

  • If you use HTTPS connection for Agents then consider that Agent2 might need its own server authentication certificate. 
    • If Agent1 is operated for HTTPS then you can modify the protocol to HTTP and to point to a different host provided that this is in line with your security requirements.
    • The same applies vice versa if Agent1 is operated for HTTP and Agent2 is operated for HTTPS.
  • If you intend to roll back from Agent2 to Agent1 then consider to apply the above steps respectively.



  • No labels