예제 #1
0
        public SteamBot(ILogProvider logProvider, IServiceConsumer <ISteamBotCoordinator> coordinator,
                        SteamBotCoordinatorCallback callback)
        {
            ServiceName = "Keylol.SteamBot";

            _logger           = logProvider.Logger;
            Coordinator       = coordinator;
            callback.SteamBot = this;

            _heartbeatTimer.Elapsed += (sender, args) =>
            {
                try
                {
                    Coordinator.Operations.Ping();
                }
                catch (Exception e)
                {
                    _logger.Warn("Ping failed.", e);
                    Coordinator.Close();
                }
                _heartbeatTimer.Start();
            };
        }
예제 #2
0
        public ImageGarage(ILogProvider logProvider, MqClientProvider mqClientProvider,
                           IServiceConsumer <IImageGarageCoordinator> coordinator)
        {
            ServiceName = "Keylol.ImageGarage";

            _logger            = logProvider.Logger;
            _mqChannel         = mqClientProvider.CreateModel();
            _coordinator       = coordinator;
            Config.HtmlEncoder = new HtmlEncoderNone();

            _heartbeatTimer.Elapsed += (sender, args) =>
            {
                try
                {
                    _coordinator.Operations.Ping();
                }
                catch (Exception e)
                {
                    _logger.Warn("Ping failed.", e);
                    _coordinator.Close();
                }
                _heartbeatTimer.Start();
            };
        }