Hi Ryan, That sounds useful. I wonder if there might be some mileage in making it possible to hook into purge / history to carry out some action? For example, dumping the messages to some text file instead of purging completely (or if the history is disabled).
Semi-related to this, I was trying to debug an app the other day, I discovered it can be quite tricky to get to look at the actual message history when you don't want to stop the service that's running. I stumbled across this code which I don't know whether you're aware of: EsentInteropSamples > DbUtil http://managedesent.codeplex.com/SourceControl/changeset/view/81201#534393 http://managedesent.codeplex.com/SourceControl/changeset/view/81201#749469 EsentInteropTests > BackupRestoreTests.cs for backing up and dumping the esent structures. I don't know whether easy backups and dumps open up any other avenues? Cheers, Miles On Friday, March 15, 2013 9:21:18 PM UTC, Ryan wrote: > > I've created a pull request to fix issues with purging in Rhino.Queues, > namely the VersionStoreOutOfMemory exceptions that can be thrown when > purging a large number of messages from the history. It's now batching the > ESENT transactions to prevent a long-running transaction that causes that > exception. > > I've also added a QueueManagerConfiguration class so you can configure the > purge options in your application. I'll next be submitting a pull request > for RSB to expose the QueueManagerConfiguration in the container so it can > be modified by the application. It currently has settings to specify > whether to enable/disable processed and outgoing message history, and > specify how many/how long messages should be kept in the history. > > It uses the same defaults that were already in Rhino.Queues: history is > enabled for processed and outgoing messages, a minimum of 100 messages are > kept for both the processed and outgoing histories, and messages are kept > in the history for a minimum of one day. That last setting is where the > exceptions were most likely to occur, especially if the application > processes a lot of messages each day. That was also the major contributor > to large esent file sizes. You'll likely want to configure that to > something that makes sense for your application. > > Any thoughts? > -Ryan > -- You received this message because you are subscribed to the Google Groups "Rhino Tools Dev" group. To unsubscribe from this group and stop receiving emails from it, send an email to [email protected]. To post to this group, send email to [email protected]. Visit this group at http://groups.google.com/group/rhino-tools-dev?hl=en. For more options, visit https://groups.google.com/groups/opt_out.
