static async Task MainAsync() { try { var config = BusConfig.GetConfig(container); var factory = container.GetInstance <IBusFactory>(); Bus = factory.Create(config); Console.WriteLine($"Starting bus: {Bus.Name}"); await Bus.Start(); Console.WriteLine($"Bus Started"); //example of sending a message var producer = container.GetInstance <MessageProducer>(); Console.WriteLine("Enter how many buy orders you want to execute:"); var numberOfBuyOrders = Console.ReadLine(); await producer.ProduceMessages(int.Parse(numberOfBuyOrders)); } catch (Exception e) { Console.WriteLine($"Exception was thrown: {e.Message}"); } }
public LinkBuilder(IDateFormatter dateFormatter, IOptions <BusConfig> busOptions, IOptions <RailwayConfig> railwayOptions) { busConfig = busOptions.Value; railwayConfig = railwayOptions.Value; this.dateFormatter = dateFormatter; }
public void ConfigureMassTransit(IServiceCollection services) { var busConfig = new BusConfig(); Configuration.GetSection("BusConfig").Bind(busConfig); services.AddMassTransit(x => { x.AddConsumer <MainConsumerSrv1>(); x.AddBus(provider => Bus.Factory.CreateUsingRabbitMq(cfg => { var host = cfg.Host(new Uri(busConfig.Host), h => { h.Username(busConfig.Username); h.Password(busConfig.Password); }); cfg.ReceiveEndpoint(host, "request-service-1-queue", ep => { ep.ConfigureConsumer <MainConsumerSrv1>(provider); }); })); }); EndpointConvention.Map <IGatewayRequest>(new Uri("rabbitmq://localhost/request-service-main-queue")); EndpointConvention.Map <IService2Request>(new Uri("rabbitmq://localhost/request-service-2-queue")); services.AddSingleton <IHostedService, MassTransitHostedService>(); }
public static void Setup() { var assambly = Assembly.GetAssembly(typeof(Program)); var config = ESS.FW.Common.Configurations.Configuration.Create() .UseAutofac() .RegisterCommonComponents() //.UseEntLibLog() ; //config.SetDefault<IConsumeObserver, ConsumeObserver>(LifeStyle.Transient); //config.SetDefault<IIdGenerator, IdGeneratorRepository>(LifeStyle.Transient); //config.UseEfRepository(typeof(JztDbContext)); config.SetDefault <ILoggerFactory, LoggerFactory>(); var busConfig = new BusConfig() { Ip = "10.3.5.95", UserName = "******", Password = "******" }; config.UseMassTransit(busConfig, new[] { assambly }); using (var scope = ObjectContainer.BeginLifetimeScope()) { _bus = scope.Resolve <IBus>(); } }
public BusFinder(IHttpService httpService, IDateFormatter dateFormatter, IOptions <BusConfig> options, ILinkBuilder linkBuilder) { this.httpService = httpService; this.dateFormatter = dateFormatter; this.linkBuilder = linkBuilder; config = options.Value; availableStations = GetAvailableStations().Result; }
public static string RunCommand(Command command) { Stopwatch timeTaken = new Stopwatch(); timeTaken.Start(); BusLogger.LogWebInterfaceCommand(command); Task <CommandCallback> response = Task <CommandCallback> .Factory.StartNew(() => { switch (command.CommandName) { case "get_command_log": return(CommandCallback(command.CommandName, BusLogger.CommandLog)); case "get_exception_log": return(CommandCallback(command.CommandName, BusLogger.ExceptionLog)); case "get_notifications": return(CommandCallback(command.CommandName, NotificationManager.NotificationList)); case "get_status": return(CommandCallback(command.CommandName, BusMonitor.GetHappiness())); case "initial_load": return(CommandCallback(command.CommandName, Bus.Model)); case "mark_read": NotificationManager.MarkNotificationAsRead(command.CommandParamaters[0]); return(CommandCallback(command.CommandName, NotificationManager.NotificationList)); case "reload_config": BusFunctions.LoadConfiguration(); return(CommandCallback(command.CommandName, Bus.Model)); case "toggle_door": BusConfig.UpdateDoorStatus(Bus.Model, command.CommandParamaters[0]); return(CommandCallback(command.CommandName, Bus.Model.Doors)); default: return(CommandCallback(null, null)); } }); timeTaken.Stop(); response.Result.TimeTaken = new TimeTaken { Elapsed = timeTaken.Elapsed, ElapsedMilliseconds = timeTaken.ElapsedMilliseconds, ElapsedTicks = timeTaken.ElapsedTicks, IsRunning = timeTaken.IsRunning }; return(JsonConvert.SerializeObject(response.Result)); }
private RebusConfigurer ConfigureRebus(RebusConfigurer rebusConfigurer, BusConfig busConfig) { rebusConfigurer.Routing(x => x.TypeBased() .MapAssemblyOf <MyMessage>(busConfig.MainQueue) ); rebusConfigurer.Transport(configurer => configurer.UseInMemoryTransport(new InMemNetwork(), busConfig.MainQueue)); rebusConfigurer.Subscriptions(configurer => configurer.StoreInMemory()); rebusConfigurer.Sagas(standardConfigurer => standardConfigurer.StoreInMemory()); return(rebusConfigurer); }
// This method gets called by the runtime. Use this method to add services to the container. public void ConfigureServices(IServiceCollection services) { Configuration.ConfigureSerilog(); //services.Configure<ConsulConfig>(Configuration.GetSection("consulConfig")); services.AddSingleton <IHttpContextAccessor, HttpContextAccessor>(); services.AddSwaggerGen(c => { c.SwaggerDoc("v1", new Info { Title = "Resizer", Version = "v1" }); var filePath = Path.Combine(PlatformServices.Default.Application.ApplicationBasePath, "Resizer.xml"); c.IncludeXmlComments(filePath); }); services.AddSingleton <IConsulClient, ConsulClient>(p => new ConsulClient(consulConfig => { var address = Configuration["consulConfig:address"]; consulConfig.Address = new Uri(address); })); services.AddMvc().SetCompatibilityVersion(CompatibilityVersion.Version_2_1); services.AddMassTransit(x => x.AddConsumer <ResizeConsumer>()); BusConfig busConfig = new BusConfig( Configuration["rabbitmq:username"], Configuration["rabbitmq:password"], Configuration["rabbitmq:host"] ); Console.WriteLine("--- RabbitMQ settings ---"); Console.WriteLine("Username: "******"Password: "******"Host: " + busConfig.Host); services.AddSingleton(provider => { return(Bus.Factory.CreateUsingRabbitMq(cfg => { var host = cfg.Host(busConfig.Host, h => { h.Username(busConfig.Username); h.Password(busConfig.Password); }); cfg.ReceiveEndpoint(host, BusConfig.QUEUE_RESIZE, endpoint => { endpoint.Consumer <ResizeConsumer>(provider); }); })); }); services.AddHostedService <BusServiceHosted>(); }
public static void RegisterFrontendInjectables(this ContainerBuilder builder) { var connectionString = FrontendSettingsViaduc.Instance.SqlConnectionString; var sftpLicenseKey = WebHelper.Settings["sftpLicenseKey"]; builder.RegisterType <ExcelExportHelper>().AsSelf(); builder.RegisterType <VeExportRecordHelper>().AsSelf(); builder.RegisterType <ParameterHelper>().As <IParameterHelper>(); builder.Register(c => c.Resolve <IParameterHelper>().GetSetting <DigitalisierungsbeschraenkungSettings>()).AsSelf(); builder.Register(c => c.Resolve <IParameterHelper>().GetSetting <ManagementClientSettings>()).AsSelf(); builder.Register(c => c.Resolve <IParameterHelper>().GetSetting <VerwaltungsausleiheSettings>()).AsSelf(); builder.Register(c => c.Resolve <IParameterHelper>().GetSetting <AutomatischeBenachrichtigungAnKontrollstelle>()).AsSelf(); builder.Register(c => c.Resolve <IParameterHelper>().GetSetting <FrontendDynamicTextSettings>()).AsSelf(); builder.Register(c => ServerSettings.GetServerSettings <ElasticSettings>()).As <IElasticSettings>(); builder.RegisterType <EntityProvider>().As <IEntityProvider>().InstancePerRequest(); builder.RegisterType <ElasticClientProvider>().As <IElasticClientProvider>(); builder.RegisterType <ElasticService>().As <IElasticService>().SingleInstance().ExternallyOwned(); builder.RegisterType <PhysicalFileSystem>().As <IFileSystem>().SingleInstance(); builder.RegisterType <ModelData>().As <IModelData>(); builder.RegisterType <CmiSettings>().As <ICmiSettings>(); builder.RegisterType <WebCmiConfigProvider>().As <IWebCmiConfigProvider>(); builder.RegisterType <KontrollstellenInformer>().As <IKontrollstellenInformer>(); builder.RegisterType <OrderManagerClient>().As <IPublicOrder>(); builder.RegisterType <FileDownloadHelper>().As <IFileDownloadHelper>(); builder.Register(c => FrontendSettingsViaduc.Instance).As <ITranslator>().SingleInstance().ExternallyOwned(); builder.Register(c => new UsageAnalyzer(GetUsageSettings(), UsageType.Download)).As <IUsageAnalyzer>().SingleInstance().ExternallyOwned(); builder.RegisterType <UserDataAccess>().As <IUserDataAccess>().InstancePerRequest().WithParameter(nameof(connectionString), connectionString); builder.RegisterType <CacheHelper>().As <ICacheHelper>().WithParameter(nameof(sftpLicenseKey), sftpLicenseKey); builder.Register(c => new UserAccessProvider(c.Resolve <IUserDataAccess>())).As <IUserAccessProvider>(); builder.RegisterType <AuthenticationHelper>().As <IAuthenticationHelper>(); builder.RegisterType <OrderDataAccess>().As <IOrderDataAccess>().InstancePerRequest().WithParameter(nameof(connectionString), connectionString); builder.RegisterType <ApplicationRoleUserDataAccess>().As <IApplicationRoleUserDataAccess>().InstancePerRequest().WithParameter(nameof(connectionString), connectionString); builder.RegisterType <ApplicationRoleDataAccess>().As <IApplicationRoleDataAccess>().InstancePerRequest().WithParameter(nameof(connectionString), connectionString); builder.RegisterType <DownloadTokenDataAccess>().As <IDownloadTokenDataAccess>().InstancePerRequest().WithParameter(nameof(connectionString), connectionString); builder.RegisterType <DownloadLogDataAccess>().As <IDownloadLogDataAccess>().InstancePerRequest().WithParameter(nameof(connectionString), connectionString); builder.Register(c => BusConfig.RegisterDownloadAssetCallback()).As <IRequestClient <DownloadAssetRequest> >(); builder.Register(c => BusConfig.RegisterGetAssetStatusCallback()).As <IRequestClient <GetAssetStatusRequest> >(); builder.Register(c => BusConfig.RegisterPrepareAssetCallback()).As <IRequestClient <PrepareAssetRequest> >(); }
public static string Run(Command command) { CommandCallback commandCallback = new CommandCallback(); BusLogger.LogWebInterfaceCommand(command); switch (command.CommandName) { case "get_command_log": commandCallback.Callback = command.CommandName; commandCallback.Data = BusLogger.CommandLog; return(JsonConvert.SerializeObject(commandCallback)); case "get_exception_log": commandCallback.Callback = command.CommandName; commandCallback.Data = BusLogger.ExceptionLog; return(JsonConvert.SerializeObject(commandCallback)); case "get_notifications": commandCallback.Callback = command.CommandName; commandCallback.Data = NotificationManager.NotificationList; return(JsonConvert.SerializeObject(commandCallback)); case "initial_load": commandCallback.Callback = command.CommandName; commandCallback.Data = Bus.Model; return(JsonConvert.SerializeObject(commandCallback)); case "reload_config": Console.Clear(); BusFunctions.LoadConfiguration(); commandCallback.Callback = command.CommandName; commandCallback.Data = Bus.Model; return(JsonConvert.SerializeObject(commandCallback)); case "toggle_door": BusConfig.UpdateDoorStatus(Bus.Model, command.CommandParamaters[0]); commandCallback.Callback = command.CommandName; commandCallback.Data = Bus.Model.Doors; return(JsonConvert.SerializeObject(commandCallback)); } return(string.Empty); }
public override void Start() { BusConfig _config = BusConfig.Current; Control = Bus.Factory.CreateUsingRabbitMq(cfg => { var host = cfg.Host(new Uri(_config.Uri), h => { h.Username(_config.User); h.Password(_config.Password); }); if (_config.EndPointId != null) { cfg.ReceiveEndpoint(host, _config.EndPointId, e => registerConsumers(e)); } }); Control.StartAsync(); }
public static void Setup() { var busConfig = new BusConfig() { Ip = "10.3.5.95", UserName = "******", Password = "******" }; var assambly = Assembly.GetAssembly(typeof(Program)); var config = ESS.FW.Common.Configurations.Configuration.Create() .UseAutofac() .RegisterCommonComponents(); config.SetDefault <ILoggerFactory, LoggerFactory>(); config.UseMassTransit(busConfig, new[] { assambly }); using (var scope = ObjectContainer.BeginLifetimeScope()) { _bus = scope.Resolve <ESS.FW.Common.ServiceBus.IBus>(); } }
public static void RegisterManagementInjectables(this ContainerBuilder builder) { builder.RegisterType <OrderManagerClient>().AsSelf(); builder.RegisterType <ExcelExportHelper>().AsSelf(); builder.RegisterType <CacheHelper>().As <ICacheHelper>().WithParameter("sftpLicenseKey", WebHelper.Settings["sftpLicenseKey"]); var connectionString = ManagementSettingsViaduc.Instance.SqlConnectionString; builder.RegisterType <UserDataAccess>().As <IUserDataAccess>().InstancePerRequest().WithParameter(nameof(connectionString), connectionString); builder.RegisterType <ApplicationRoleDataAccess>().As <IApplicationRoleDataAccess>().InstancePerRequest().WithParameter(nameof(connectionString), connectionString); builder.RegisterType <ApplicationRoleUserDataAccess>().As <IApplicationRoleUserDataAccess>().InstancePerRequest().WithParameter(nameof(connectionString), connectionString); builder.RegisterType <AblieferndeStelleDataAccess>().As <IAblieferndeStelleDataAccess>().InstancePerRequest().WithParameter(nameof(connectionString), connectionString); builder.RegisterType <AblieferndeStelleTokenDataAccess>().As <IAblieferndeStelleTokenDataAccess>().InstancePerRequest().WithParameter(nameof(connectionString), connectionString); builder.RegisterType <DownloadTokenDataAccess>().As <IDownloadTokenDataAccess>().InstancePerRequest().WithParameter(nameof(connectionString), connectionString); builder.RegisterType <NewsDataAccess>().AsSelf().InstancePerRequest().WithParameter(nameof(connectionString), connectionString); builder.Register(c => BusConfig.CreateGetElasticLogRecordsRequestClient()).As <IRequestClient <GetElasticLogRecordsRequest> >(); builder.Register(c => BusConfig.GetExternalContentClient()).As <IRequestClient <SyncInfoForReportRequest> >(); builder.Register(c => BusConfig.RegisterDownloadAssetCallback()).As <IRequestClient <DownloadAssetRequest> >(); builder.Register(c => BusConfig.CreateDoesExistInCacheClient()).As <IRequestClient <DoesExistInCacheRequest> >(); builder.RegisterType <AuthenticationHelper>().As <IAuthenticationHelper>(); builder.RegisterType <ParameterHelper>().As <IParameterHelper>(); builder.RegisterType <MailHelper>().As <IMailHelper>(); builder.RegisterType <CmiSettings>().As <ICmiSettings>(); builder.RegisterType <WebCmiConfigProvider>().As <IWebCmiConfigProvider>(); builder.RegisterType <OrderManagerClient>().As <IPublicOrder>(); builder.RegisterType <FileDownloadHelper>().As <IFileDownloadHelper>(); builder.RegisterType <ReportExternalContentHelper>().As <IReportExternalContentHelper>(); builder.RegisterType <AbbyyProgressInfo>().SingleInstance().AsSelf(); // register all the consumers builder.RegisterAssemblyTypes(Assembly.GetExecutingAssembly()) .AssignableTo <IConsumer>() .AsSelf(); }
public RoutDialog(ITelegramBotClient botClient) { var blaBlaCarConfig = new BlaBlaCarConfig { ApiUrl = "https://public-api.blablacar.com/api/v2/trips?locale=uk_UA&cur=UAH&fn={from}&tn={to}&db={date}", ApiKey = "9bd3dc5d46c34a0cb1ac951322208f77" }; var busConfig = new BusConfig { ApiUrl = "http://ticket.bus.com.ua/order/forming_bn?point_from={from}&point_to={to}&date={date}&date_add=0&fn=round_search", BookingUrl = "http://ticket.bus.com.ua/order/forming_bn?round_num={round_num}&count=1&email={email}&reservation=&bs_code={bus_code}&point_from={from_code}&point_to={to_code}&local_point_from={local_from_code}&local_point_to={local_to_code}&date={date}&date_add=0&date_dep={date}&fn=check_places&ya=0&submit=%D0%9F%D1%80%D0%BE%D0%B2%D0%B5%D1%80%D0%BA%D0%B0+%D0%BC%D0%B5%D1%81%D1%82+%D0%B8+%D1%81%D1%82%D0%BE%D0%B8%D0%BC%D0%BE%D1%81%D1%82%D0%B8", SiteUrl = "http://ticket.bus.com.ua/" }; blaBlaCarFinder = new BlaBlaCarFinder(new HttpService(), new DateFormatter(), Options.Create(blaBlaCarConfig)); busFinder = new BusFinder(new HttpService(), new DateFormatter(), Options.Create(busConfig), new LinkBuilder(new DateFormatter(), Options.Create(busConfig))); dialogFlowService = new DialogFlowService(); this.botClient = botClient; }
public IBus Init(BusConfig config) { _config = config; return(Init()); }
public RabbitBus(ILogger <IBus> logger, IOptions <BusConfig> config) { _logger = logger; _config = config?.Value; }