Пример #1
0
        /// <summary>
        /// Sends a heartbeat payload with detailed platform information for processing by a listening CAST Server.
        /// </summary>
        public void SendHeartbeat()
        {
            using (Profiler.Measure("CastService.SendHeartbeat"))
            {
                if (!GetIsCastConfigured())
                {
                    return;
                }

                using (new SecurityBypassContext())
                {
                    var dbSettings = ConfigurationSettings.GetDatabaseConfigurationSection().ConnectionSettings;
                    var dbInfo     = DatabaseConfigurationHelper.Convert(dbSettings);
                    var tenants    = new TenantList(TenantService.GetTenants());
                    var apps       = ApplicationService.GetApps().ToList();
                    var hostname   = Dns.GetHostName();
                    var domainname = IPGlobalProperties.GetIPGlobalProperties().DomainName;
                    var pi         = new RemotePlatformInfo
                    {
                        Id             = GetDatabaseId(),
                        Tenants        = tenants,
                        Apps           = apps,
                        FrontEndHost   = hostname,
                        FrontEndDomain = domainname,
                        DatabaseServer = dbInfo.Server,
                        Database       = dbInfo.Database
                    };

                    HeartbeatSender.Send(SpecialStrings.CastHeartbeatKey, pi, false);
                }
            }
        }
Пример #2
0
        public StitchMonitorModule(CrossStitchCore core, NodeConfiguration configuration)
        {
            _configuration = configuration;
            var log             = new ModuleLog(core.MessageBus, Name);
            var calculator      = new StitchHealthCalculator(configuration.MissedHeartbeatsThreshold);
            var heartbeatSender = new HeartbeatSender(core.MessageBus);
            var healthNotifier  = new StitchHealthNotifier(core.MessageBus);

            _heartbeatService = new StitchHeartbeatService(log, heartbeatSender, healthNotifier, calculator);
            _subscriptions    = new SubscriptionCollection(core.MessageBus);
        }
Пример #3
0
 public FinancialClient(RestTarget rest, OpenGammaFudgeContext fudgeContext)
 {
     _rest            = rest;
     _fudgeContext    = fudgeContext;
     _heartbeatSender = new HeartbeatSender(TimeSpan.FromMinutes(5), _rest.Resolve("heartbeat"));
 }
Пример #4
0
 public HeartbeatPublisher(HeartbeatSender heartbeatService)
 {
     this.heartbeatService = heartbeatService;
 }
Пример #5
0
 public void CanCreateAndDispose()
 {
     using (var heartbeatSender = new HeartbeatSender(TimeSpan.FromMilliseconds(int.MaxValue), new RestTarget(new OpenGammaFudgeContext(), new Uri("http://www.opengamma.com"))))
     {
     }
 }
Пример #6
0
 public HeartbeatGenerator(Communicator comm, int intervalWaitTime, HeartbeatSender senderMethod)
 {
     _heartbeatInterval = intervalWaitTime;
     _heartbeatSender   = senderMethod;
     _comm = comm;
 }