Queue Service has been updated to version 2.4 which includes Virtual queues, Amazon Queues, Matrix Queues and Queue Service optimization.
- Virtual Queues are defined as queues that can be accessed, but will never be started or processed and are ignored Queue Service. Examples of Virtual Queues are Failure Queue, Future Queue, Callback Queue, Matrix Queues and Outbound BOT Queues.
- Amazon SQS (Simple Queue Service) has been implemented as IQueue. This allows QBO Queuing to utilize Amazon SQS which is a precursor to distributed queuing.
- Matrix Queues are Virtual queues that dynamically route messages to other queues based on matrix evaluation. IQueueMessage has been updated to contain routing properties which store routing parameters and can be utilized for advanced queuing scenarios such as target and return queues.
- Queue Service 2.4 has been optimized to use one AppDomain for an entire application. It was previously architected to use one AppDomain to watch the application, and one AppDomain per configured Queue. The reduction of AppDomains results in a substantial decrease in memory usage and faster start times.
Steps to Upgrade
The following steps assume the system being upgraded is running Queue Service 2.2
or later . If the system is running an older version of Queue Service, locate the version in the documentation and follow the upgrade steps.
- Get Latest Trunk
- Queue Service
- qbo.QueueService.2.4.0.x64.msi (64 bit)
- qbo.QueueService.2.4.0.msi (x86)
- ObjectQueue.sql - table update
- Deploy Trunk
- Backup QueueService.exe.config
- Uninstall Queue Service
- Install qbo.QueueService.2.4.0.msi
- Replace QueueService.exe.config with backup version
- Execute Packages-> 'Queue Initialize'. This will seed Default queue Schedule and Permissions.
- From browser, navigate to Application/Queue.ashx. System Queues: Failure Queue, Future Queue, Callback Queue should appear as Virtual and user defined queues should be listed alphabetically.
- Run Test Scripts from browser
- Application-> Queue Testing
- Start Queue Service
- Manually queue an item (eg. Person/Select) to verify Queue Service is processing items
Upon starting the Queue Service refresh the Queue list from Queue.ashx. If you observe any "Paused" queues this indicates a problem. Inspect (Edit) each queue individually and observe the settings. Common issues to look for are:
- Queue is set to ExecuteAs "AdminUser" and no Admin Person is specified and/or account is inactive or locked out
- Queue threshold was set to x and there were x consecutive processing errors
- Check Windows Application log for any errors written by qbo Queue Service
What happened to Queue Service 2.3?
After Queue Service 2.2, there were a few minor releases of queuing that were dubbed 2.X. There were three builds of Queue Service 2.3:
- 2.3.0 - Configuration management and Smart label additions
- 2.3.1 - Refactored to support BOTs
- 2.3.2 - Introduced Queue Dependencies
Moving forward we're going to associate Queue Service builds with branches.