Beispiel #1
0
    private void initPage()
    {
        int?serviceId = ServiceIdParameter;

        ServiceName.Text = serviceId == null ? string.Empty : RtEngines.GetRtEngineName((int)ServiceIdParameter);
        loadEngineStatus();
    }
Beispiel #2
0
    protected void ForceConfigReload_Click(object sender, EventArgs e)
    {
        int?serviceId = ServiceIdParameter;

        if (serviceId != null)
        {
            RtEngineBase engine = RtEngines.GetRtEngine((int)serviceId);
            engine.ForceReloadConfiguration();
            loadEngineStatus();
        }
    }
Beispiel #3
0
    protected void ForceHeartbeat_Click(object sender, EventArgs e)
    {
        int?serviceId = ServiceIdParameter;

        if (serviceId != null)
        {
            RtEngineBase engine = RtEngines.GetRtEngine((int)serviceId);
            engine.ForceHeartbeat();
            loadEngineStatus();
        }
    }
    protected void ReloadEngineConfig_Click(object sender, EventArgs e)
    {
        RtEngineBase engine = RtEngines.GetRtEngine(ServiceId);
        Database     db     = Global.GetDbConnection();
        Service      dbSvc  = db.GetService(engine.ServiceId);

        dbSvc.ReloadConfiguration = true;
        db.SaveService(dbSvc);

        loadEngineStatus();
    }
Beispiel #5
0
        private void Application_Start(object sender, EventArgs e)
        {
            ConnectionStringSettings connStringSettings;

            _log.Info("Application Logging Started");

            connStringSettings  = ConfigurationManager.ConnectionStrings[CONFIG_DB_CONNECTION_STRING];
            _dbConnectionString = connStringSettings.ConnectionString;

            _log.DebugFormat("Loaded database connection string: '{0}'", _dbConnectionString);

            // Start Web Services
            _log.Debug("Forcing Engine Heartbeats");
            RtEngines.ForceEngineHeartbeats();

            EndRequest += Global_EndRequest;
        }
Beispiel #6
0
    private void loadEngineStatus()
    {
        int?serviceId = ServiceIdParameter;

        if (serviceId != null)
        {
            RtEngineBase engine     = RtEngines.GetRtEngine((int)serviceId);
            Database     db         = Global.GetDbConnection();
            Service      dbSvc      = db.GetService(engine.ServiceId);
            DateTime     serverTime = db.GetServerTime();

            Win32TimeZone timeZone = TimeZones.GetTimeZone(Profile.TimeZoneIndex);

            ServiceOwnerName.Text = engine.ServiceOwnerName;
            HeartBeating.Text     = engine.IsHeartBeating ? string.Empty : "Not";
            IsRunning.Text        = engine.IsRunning ? "Running" : "Stopped";
            IsServiceOwner.Text   = engine.IsServiceOwner ? "Yes" : "No";
            WebServiceInformation.Style.Add("color",
                                            engine.IsServiceOwner && engine.IsRunning ||
                                            !engine.IsServiceOwner && !engine.IsRunning
                                                                ? "green"
                                                                : "red");

            bool suspectedCrash =
                dbSvc.Enabled &&
                (Math.Abs(dbSvc.LastRunTime.Subtract(serverTime).TotalMinutes) > dbSvc.RunIntervalMinutes * 2 ||
                 // More than 2 cycles times have passed since last run time
                 Math.Abs(dbSvc.LastHeartbeat.Subtract(serverTime).TotalMinutes) > EngineBase.HEARTBEAT_INTERVAL.TotalMinutes * 2);
            // More than 2 heartbeat cycle times have passed since last heartbeat

            ServiceOwner.Text  = dbSvc.Owner;
            LastRunTime.Text   = dbSvc.LastRunTime == new DateTime() ? "Never" : timeZone.ToLocalTime(dbSvc.LastRunTime).ToString();
            LastHeartbeat.Text = dbSvc.LastHeartbeat == new DateTime()
                                                ? "Never"
                                                : timeZone.ToLocalTime(dbSvc.LastHeartbeat).ToString();
            ServerTime.Text  = timeZone.ToLocalTime(serverTime).ToString();
            NextRunTime.Text = dbSvc.Enabled
                                                ? "~" + timeZone.ToLocalTime(dbSvc.LastRunTime.AddMinutes(dbSvc.RunIntervalMinutes))
                                                : "Next time service is started";

            EngineDatabaseStatus.Text = string.Format("{0}{1}{2}{3}",
                                                      suspectedCrash
                                                                        ? "<span style=\"font-weight:bold;\">Suspected crash</span><br />"
                                                                        : string.Empty,
                                                      dbSvc.ForceRun ? "Forced run pending<br />" : string.Empty,
                                                      dbSvc.ReloadConfiguration
                                                                        ? "Reload configuration pending<br />"
                                                                        : string.Empty,
                                                      dbSvc.ReloadConfiguration
                                                                        ?
                                                      (dbSvc.Enabled
                                                                                        ? "Will be started next heartbeat"
                                                                                        : "Will be stopped next hearteat")
                                                                        :
                                                      (dbSvc.Enabled ? "Enabled" : "Disabled"));
            ServiceInformation.Style.Add("color",
                                         suspectedCrash
                                                        ? "red"
                                                        : dbSvc.Enabled && !dbSvc.ReloadConfiguration ? "green" : "#E0691A");

            StartHeartbeat.Visible = !engine.IsHeartBeating;
            StopHeartbeat.Visible  = engine.IsHeartBeating;
            StartEngine.Visible    = !engine.IsRunning;
            StopEngine.Visible     = engine.IsRunning;
        }
        else
        {
            AjaxPanel1.Visible = false;
        }
    }
 private void initControl()
 {
     WebServiceLink.NavigateUrl = string.Format("WebService/?Id={0}", ServiceId);
     WebServiceLink.Text        = RtEngines.GetRtEngineName(ServiceId);
     loadEngineStatus();
 }