Because resending a message interrupts the regular message sending process, the SQL Remote Message Agent (dbremote) delays processing resend requests. By default, the SQL Remote Message Agent (dbremote) waits for a time that is half of the send frequency of the remote user who requested the resend.
To resend a message, the SQL Remote Message Agent (dbremote) does the following tasks:
It stops scanning the transaction log and stops building new messages.
It deletes the current messages that are stored in its cache waiting to be sent. All of the work that the SQL Remote Message Agent (dbremote) did in reading the transaction log and building those messages is lost.
It re-reads the transaction log from the offset requested in the resend request. The SQL Remote Message Agent (dbremote) builds the messages and stores them in its cache.
It waits until the next send frequency time occurs and then sends the messages.
You must balance the urgency of sending requests for resent messages with the priority of processing regular messages.
The -ru option controls the urgency of the resend requests. To delay processing resend requests until more have arrived, set this option to a longer time. For example, the following command waits one hour before processing a resend request:
dbremote -c "DSN=SQL Anywhere 12 Demo" -ru 1h
Discuss this page in DocCommentXchange.
|Copyright © 2010, iAnywhere Solutions, Inc. - SQL Anywhere 12.0.0|