What's New - Version 3.2.6
Enhancements
- Added timeouts to all MsGraph email actions to prevent hung up Consumer threads. A new configuration setting:
MsGraphExecutor.TimeoutInMinutes is now available to control how long a thread is to wait for any email action
to complete before timing out. Should such timeout happen, the action is going to be retried according to existing rules for MsGraph emails, see MsGraph Email settings for details.
- Additional logging for better progress tracking.
- For MsGraph email operations - added functionality to use internally allocated "slots" to perform email actions and assure the number of parallel ones is not exceeding the MsGraph limit.
This allows for the number of Worker Threads to exceed the former maximum of 4 so the overall performance may improve while maximum number of MsGraph "slots" remains at 4.
Refer to the Number of Worker Threads for details.
- Introduced a new tool for thread activity monitoring. Its purpose is to record thread activity and report if any thread is "stuck" on any specific action. A new configuration setting:
ApplicationEventProcessorState.ThreadCriticalDelayMinutes is now available to specify after how many minutes of inactivity a task will be reported as "stuck". See Thread Activity Monitoring for details.
- Allow for new events to be enqueued even if the queue is not yet empty. This action effectively tops off the queue to the maximum number of scheduled events specified by the
ApplicationEventProcessorState.ApplicationEventChunkSize configuration setting every time the Producer task wakes up after ApplicationEventProcessorState.PollingIntervalMilliseconds.
The goal is to keep the Consumer threads busy while new time_bombs are generated even if any Consumer may take longer time to finish its task. However, the new events will be enqueued only if CacheRefreshApplicationEvent has not been detected - should this happen no new events will be enqueued until the queue is empty and the cache refresh operation ends - this is standard Rule Manager policy.
Bug Fixes
- Fixed the Markdown Parser to prevent "
FChoice.RuleManager.Markdown.MarkdownParser - Engine.Script.inlineCss failed: Microsoft.CSharp.RuntimeBinder.RuntimeBinderException: Cannot implicitly convert type 'Microsoft.ClearScript.Undefined' to 'string'" error. This error did occur randomly for no particular reason.
Upgrading to Version 3.2.6
- Stop the Dovetail Rulemanager Windows service. Be sure to close the Windows Services application window after doing so.
- Backup any Rulemanager files that you have previously modified (such as FChoice.RuleManager.WindowsService.exe.config, other .config files, or custom property extension DLLs)
- Un-install the old version of Rulemanager (using Control Panel - Add/Remove Programs).
- Install the new version of Rulemanager
- Merge any of your existing changes with updated files, then copy the merged files back into the Rulemanager directory. This includes any changes to FChoice.RuleManager.WindowsService.exe.config.
You may want to use custom values for the new settings: MsGraphExecutor.TimeoutInMinutes, EmailServiceConfig.ThreadMonitorIntervalSeconds, and ApplicationEventProcessorState.ThreadCriticalDelayMinutes.
- Start the Rulemanager service
What's New in Previous Versions