Business Process Choreographer maintenance and recovery scripts
There are several maintenance-related scripts for Business Process Choreographer. Run these maintenance scripts as part of a general maintenance policy to help maintain database performance, or as part of a recovery process as deemed necessary.
You should run these scripts to remove from the database the templates and their associated objects, as well as completed process instances, that are not contained in any corresponding valid application in the configuration repository.
There is also the possibility of having invalid process templates. This situation can occur if an application installation was canceled or not stored in the configuration repository by the user.
IBM® Business Process Manager also provides a service that automates Business Process Choreographer cleanup. You can run that service from the administrative console.
- deleteInvalidProcessTemplate.py
- Run this script to delete, from the Business Process Choreographer
database, business process templates that are no longer valid. You
cannot use this script to remove templates of valid applications from
the database. This condition is checked and a ConfigurationError exception
is thrown if the corresponding application is valid.Note: These templates usually have no impact. They are not shown in Business Process Choreographer Explorer.
- deleteInvalidTaskTemplate.py
- Run this script to delete, from the Business Process Choreographer database, human task templates that are no longer valid. You cannot use this script to remove templates of valid applications from the database. This condition is checked and a ConfigurationError exception is thrown if the corresponding application is valid.
- deleteCompletedProcessInstances.py
- Run this script when all completed process instances have to be
deleted. A top-level process instance is considered completed when
it is in one of the following end states:
- Finished
- Terminated
- End
- Failed
Deleting an allotment of completed process instances
You can delete an allotment of process instances from the development environment.
Using a script that wrappers the provided deleteCompletedProcessInstances.py
- By editing and placing correct user names, passwords, and paths in this wrapper script, you can delete an allotment of process instances from the development environment.
- Carefully selecting an adequate time slice prevents SOAP timeout exceptions when communicating with the deployment manager.
- The adequate time slice of administrable instances depends on
many factors including, but not limited to, the following:
- JVM tuning and memory allocations
- Transaction log configuration for the database server
- SOAP connection Time-Out configuration
Example
wsadmin.<bat|sh> -user<USERNAME> -password<PASSWORD> -f loopDeleteProcessInstances.py
2008-04-02T21:00:00 3600
This command will run deleteCompletedProcessInstances.py while
increasing the completed before time stamp by one hour (60 minutes
* 60 seconds) after every execution.- An untuned database
- An overloaded system
- An attempt to delete "too many" process instances at once