Aegis 'Depot' Activity - MSMQ Send, Receive and Purge
There are times where the unexpected happens. For example normally we get normally 15 events from X per day - but because of a network outage suddenly we get 200+ in a minute. How will your processes scale to this scenario? Aegis can run any number of workitems, but if 200+ workitems are simultaneously trying to access the same resource, things will invariably slow down. There are different workflow techniques to overcome this type of problem and here is another with using Message Queuing as a solution.
An example would be in a batch processing workflow. We know for 23.9 hours of the day there is no activity, but we need to respond to 1000 events all together in a few minutes.
Here is what we could do : Trigger on the event as normal, add the event to a local message queue and end the workitem. This will be done by 999 other workitems (or we could do it via append in the first). These workitems will be really lightweight as they don't do much so will end quickly. The core workflow however will trigger also on the first event and take the first message off the queue, run the automated process and on completion signal to start a new instance of the core workflow which handles the next message. This will go on until there are no messages left on the queue.
This is a set of activities which interact with non-transactional private queues on the Aegis Server. They will not work against any NetIQ Aegis Message Queues!
Activity Installation Instructions are here: