Пример #1
0
 /// <summary>
 /// Adds a mutation to be retried by this manager
 /// </summary>
 /// <param name="retryDelegate"></param>
 /// <param name="identifier"></param>
 public void AddMutationForRetry(DelayedMutation.DelayedMutationDelegate retryDelegate, string identifier)
 {
     this.ScheduleMutationRetry(new DelayedMutation(retryDelegate, identifier)); 
 }
Пример #2
0
        /// <summary>
        /// Schedules the given mutation to be re-executed at a time in the future based on its retry count
        /// </summary>
        /// <param name="mut">The mutation to reschedule</param>
        private void ScheduleMutationRetry(DelayedMutation mut)
        {
            mut.ReadyOn = DateTime.Now + RETRY_DELAYS[mut.RetryCount];
            _log.InfoFormat("[Inworldz.Data.Inventory.Cassandra] Mutation {0} will be retried at {1}", mut.Identifier, mut.ReadyOn);

            lock (_delayedMutations)
            {
                _delayedMutations.Add(mut);
            }
        }