IBM V2.3 Automobile Accessories User Manual


 
Write a program that calls the ExmDeleteProcess API. You can use this API to
explicitly delete individual instances whenever you wish, based on such things
as time and date or other criteria external to FlowMark processing.
The finishing and subsequent deletion of process instances is at least as resource
intensive as creating an instance.
When finishing/terminating and then deleting a process instance, FlowMark
internally has to:
Search for the process
Update all work lists that an instance has been terminated (even if no clients
are running) to delete finished activities of the instance
Update all process lists that an instance has been deleted
Delete all data relating to the instance from the database
Perform all these tasks for any existing subprocesses
You might therefore want to off-load much of this activity to hours when there is
less system activity and you are not likely to impact the users.
5.2.1.1 Deleting Process Instances and Activities Offshift
By not checking the “Delete finished items” checkbox, you off-load the deletion to a
delete interval defined by the “Days cleanup interval” field on the FlowMark Start
Servers window. The cleanup interval is defined in days. Cleanup is done by the
FlowMark notification servicer, which starts deleting instances and activities at
midnight. Deletion of all finished or terminated instances and activities will then
start when the cleanup interval is passed. Since this happens at midnight, you
need to have the server running at night for this to occur.
5.3 Performance and Capacity Considerations
The basic idea to understand here is that instance creation, and to some extent
instance deletion, are resource intensive. There is a fair amount of work involved
for the server, and there are significant updates (inserting or deleting data) to the
database. It is important to avoid doing much of either during normal working
hours. It is the same load whether you do it by a program that loops or by
selecting many from a process list and specifying delete. If you do significant
numbers at once it will impact your users. If it is possible, defer these efforts until
off hours.
On the other hand, leaving completed instances in your database will take up
database space, and can have some impact on performance. So you need to
make some trade-offs between daytime performance and database capacity.
To summarize this point, you should remove instances from the database as soon
as practical after they have completed. Do it at times where the resource usage
will not impact your users, especially on busy servers.
10 FlowMark V2.3 Design Guidelines