Beispiel #1
0
        RetryStrategy BuildRetryStrategy(FirebaseJobDispatcher dispatcher)
        {
            int policy = useLinearBackoffStrategy
                ? RetryStrategy.RetryPolicyLinear
                : RetryStrategy.RetryPolicyExponential;

            RetryStrategy retryStrategy;

            try
            {
                retryStrategy = dispatcher.NewRetryStrategy(policy, initialBackoffSeconds, maximumBackoffSeconds);
            }
            catch (Exception ex)
            {
                Log.Error(TAG, ex.ToString());
                retryStrategy = null;
            }
            return(retryStrategy);
        }
Beispiel #2
0
        private void ScheduleNotificationCheck()
        {
            try
            {
                FirebaseJobDispatcher dispatcher = this.CreatJobDispatcher();
                Job job = dispatcher.NewJobBuilder()
                          .SetService <PusteraScheduler>("notifJob")
                          .SetRecurring(true)
                          .SetLifetime(Lifetime.Forever)
                          .SetRetryStrategy(dispatcher.NewRetryStrategy(RetryStrategy.RetryPolicyLinear, 30, 360))
                          .SetReplaceCurrent(false)
                          .SetTrigger(Trigger.ExecutionWindow(Utils.HoursToSeconds(1), Utils.HoursToSeconds(1.5)))
                          .Build();

                dispatcher.Schedule(job);
            }
            catch (Exception bug)
            {
                Log.Debug("PUSTERA_LOG", bug.Message);
            }
        }