protected override void ConfigureServiceBusBusHost(IServiceBusBusFactoryConfigurator configurator, IServiceBusHost host) { configurator.UseServiceBusMessageScheduler(); base.ConfigureServiceBusBusHost(configurator, host); configurator.TurnoutEndpoint <LongTimeJob>(host, "service_queue", endpoint => { endpoint.SuperviseInterval = TimeSpan.FromSeconds(1); endpoint.SetJobFactory(async context => { Console.WriteLine("Starting job: {0}", context.Command.Id); await Task.Delay(context.Command.Duration).ConfigureAwait(false); Console.WriteLine("Finished job: {0}", context.Command.Id); }); _serviceAddress = endpoint.InputAddress; }); _stateMachine = new TurnoutJobStateMachine(); _repository = new MessageSessionSagaRepository <TurnoutJobState>(); configurator.ReceiveEndpoint(host, "service_state", endpoint => { endpoint.RequiresSession = true; endpoint.MessageWaitTimeout = TimeSpan.FromHours(8); endpoint.StateMachineSaga(_stateMachine, _repository); }); }
protected override void ConfigureServiceBusBusHost(IServiceBusBusFactoryConfigurator configurator, IServiceBusHost host) { configurator.UseServiceBusMessageScheduler(); base.ConfigureServiceBusBusHost(configurator, host); configurator.TurnoutEndpoint <ProcessFile>(host, "process_queue", endpoint => { endpoint.SuperviseInterval = TimeSpan.FromSeconds(1); endpoint.SetJobFactory(async context => { try { await Task.Delay(TimeSpan.FromSeconds(context.Command.Size), context.CancellationToken).ConfigureAwait(false); } catch (TaskCanceledException ex) { Console.WriteLine("Task was canceled!"); throw; } }); _commandEndpointAddress = endpoint.InputAddress; }); }
protected override void ConfigureServiceBusBusHost(IServiceBusBusFactoryConfigurator configurator, IServiceBusHost host) { configurator.UseServiceBusMessageScheduler(); base.ConfigureServiceBusBusHost(configurator, host); configurator.TurnoutEndpoint <ProcessFile>(host, "process_queue", endpoint => { endpoint.SuperviseInterval = TimeSpan.FromSeconds(1); endpoint.SetJobFactory(async context => await Task.Delay(TimeSpan.FromSeconds(context.Command.Size)).ConfigureAwait(false)); _commandEndpointAddress = endpoint.InputAddress; }); }
protected override void ConfigureBusHost(IServiceBusBusFactoryConfigurator configurator, IServiceBusHost host) { configurator.UseServiceBusMessageScheduler(); base.ConfigureBusHost(configurator, host); configurator.TurnoutEndpoint<ProcessFile>(host, "process_queue", endpoint => { endpoint.SuperviseInterval = TimeSpan.FromSeconds(1); endpoint.SetJobFactory(async context => await Task.Delay(TimeSpan.FromSeconds(context.Command.Size)).ConfigureAwait(false)); _commandEndpointAddress = endpoint.InputAddress; }); }
protected override void ConfigureBusHost(IServiceBusBusFactoryConfigurator configurator, IServiceBusHost host) { configurator.UseServiceBusMessageScheduler(); base.ConfigureBusHost(configurator, host); configurator.TurnoutEndpoint<ProcessFile>(host, "process_queue", endpoint => { endpoint.SuperviseInterval = TimeSpan.FromSeconds(1); endpoint.SetJobFactory(async context => { try { await Task.Delay(TimeSpan.FromSeconds(context.Command.Size), context.CancellationToken).ConfigureAwait(false); } catch (TaskCanceledException ex) { Console.WriteLine("Task was canceled!"); throw; } }); _commandEndpointAddress = endpoint.InputAddress; }); }