Monday, August 29, 2016

Gel Script Performance - CA PPM - Process Design

Create multiple generic process XOG users


  • Process XOG users would be restricted to just the rights required for the their particular area (XOG PROJ, XOG RESOURCE, etc)
  • Keep start condition, pre-condition and post condition expressions as simple as possible
    • for an on -update start condition ensure actions the process takes result in the start condition evaluating to FALSE by the time the process finishes executing.
    • This will prevent the process from firing over and over again. 
  • Keep the total number of active process for an object minimal 
    • use a single "create" process with branching rather than having multiple "create" processes.
  • Use the delete process instance job to clean up old process 
    • Some may need to be kept for auditing purposes. Identify processes that can be removed and delete them when they have completed via the job.
    • Target frequently run processes, which are good candidates to delete as they typically carry almost no auditing benefit.
  • During back ground services start up, the process engine loads, compiles, and caches all active processes. 
    • This can cause an initial spike in database CPU usage. 
  •  Do not use <gel:log> excessively,  Each log call results in a row in BPM_ERRORS
  •  Do not use <gel:log> with in a loop with large numbers of iterations. This will affect the performance of your script.
  • use a "debug" parameter on your gel script and wrap your calls to <gel:log> with a <core:if>.This will allow you to enable logging when you need it. 
    • <core:if test="${debugFlag=1}">
    • ⋛: log level ="debug">my debug log message </log>
    • </core:if>