示例#1
0
        private static AsyncInjectOutcomePolicy CreateRetryChaosAsync(IPolicies policies)
        {
            var fault = new PostgresException(string.Empty, string.Empty, string.Empty,
                                              ChaosPolicyShared.GetRandomString(RetryablePostGreErrors.Errors.ToList()));

            return(MonkeyPolicy.InjectExceptionAsync(with =>
                                                     with.Fault(fault)
                                                     .InjectionRate((context, token) => ChaosPolicyShared.InjectionRateAsync(context, RetryConstants.RetryCount, RetryAttempts))
                                                     .Enabled(policies.EnableChaos)
                                                     ));
        }
 private static async Task <double> InjectionRate(Context arg, int retryAttempts, string keyName)
 {
     return(await ChaosPolicyShared.InjectionRateAsync(arg, retryAttempts, keyName));
 }
示例#3
0
 private static AsyncInjectOutcomePolicy CreateRetryChaosAsync(IPolicies policies)
 {
     return(MonkeyPolicy.InjectExceptionAsync(with =>
                                              with.Fault(Behaviour())
                                              .InjectionRate((context, token) => ChaosPolicyShared.InjectionRateAsync(context, RetryConstants.RetryCount, RetryAttempts))
                                              .Enabled(policies.EnableChaos)
                                              ));
 }