Beispiel #1
0
        public async Task RouteAsync(string message, Action ack)
        {
            try
            {
                dynamic msg             = JsonConvert.DeserializeObject(message);
                var     environmentMode = Infokeeper.GetEnvironmentMode();
                if (msg.SourceEnvironment != environmentMode)
                {
                    ack();
                    _logger.LogError($"Ignoring message with SourceEnvironment {msg.SourceEnvironment} since this is running in ENVIRONMENT_MODE {environmentMode}");
                    return;
                }

                switch (msg.Event.Name.ToString())
                {
                case "Something Happened":
                    await _somethingHappenedHandler.ExecuteAsync(msg, message, ack);

                    Console.WriteLine($"Message processed: {message}");
                    break;

                default:
                    ack();
                    break;
                }
            }
            catch (Exception e)
            {
                ack();
                _logger.LogError($"Message processing failed with exception: {e.Message}\n\nmessage received: {message}");
            }
        }
Beispiel #2
0
        public void Configure(IApplicationBuilder app, IApplicationLifetime applicationLifetime, ILoggerFactory loggerFactory, IRabbitEndpoint rabbitEndpoint)
        {
            _rabbitEndpoint = rabbitEndpoint;
            applicationLifetime.ApplicationStarted.Register(OnStarted);
            applicationLifetime.ApplicationStopping.Register(OnShutdown);
            app.UseMvc();

            if (Infokeeper.GetEnvironmentMode() == "dev")
            {
                loggerFactory.AddDebug();
            }
        }