Beispiel #1
0
        private ScheduledAction ConfigureActualizationAction(ScheduledActionsDynamicOptions options)
        {
            var scheduler = Scheduler.Periodical(options.ActualizationPeriod, false);

            var actionOptions = new ScheduledActionOptions();

            return(new ScheduledAction(
                       "ActualizeScheduledActionsSet",
                       scheduler,
                       actionOptions,
                       async context =>
            {
                var builder = new ScheduledActionsBuilder(log, tracer, diagnostics)
                {
                    SupportsDynamicConfiguration = false,
                    ShouldLogScheduledActions = false
                };

                foreach (var action in staticActions)
                {
                    builder.Schedule(action);
                }

                await options.Configuration(builder, context.CancellationToken);

                Actualize(builder.Actions, context.CancellationToken);
            }));
        }
        public Task InitializeAsync(IVostokHostingEnvironment environment)
        {
            var builder = new ScheduledActionsBuilder(environment.Log);

            Setup(builder, environment);

            runner = builder.BuildRunnerInternal();

            RegisterDiagnosticFeatures(environment);

            return(Task.CompletedTask);
        }