Example #1
0
        /// <summary>
        /// 带事务的Update
        /// </summary>
        /// <param name="entity"></param>
        /// <param name="trans">The trans.</param>
        /// <returns></returns>
        /// <remarks>2016/1/7 15:48:28</remarks>
        public bool Update(MonitorScheduleEntity entity, DbTransaction trans)
        {
            var       database       = new SqlDatabase(this.ConnectionString);
            DbCommand commandWrapper = database.GetStoredProcCommand("dbo.P_MonitorSchedule_Update");

            database.AddInParameter(commandWrapper, "@Idx", DbType.Int32, entity.Idx);
            database.AddInParameter(commandWrapper, "@ZoneId", DbType.Int32, entity.ZoneId);
            database.AddInParameter(commandWrapper, "@ScheduleId", DbType.Int32, entity.ScheduleId);
            database.AddInParameter(commandWrapper, "@AppId", DbType.Int32, entity.AppId);
            database.AddInParameter(commandWrapper, "@TerminalIp", DbType.AnsiString, entity.TerminalIp);
            database.AddInParameter(commandWrapper, "@StartTime", DbType.DateTime, entity.StartTime);
            database.AddInParameter(commandWrapper, "@NextInvokeTime", DbType.DateTime, entity.NextInvokeTime);
            database.AddInParameter(commandWrapper, "@EndTime", DbType.DateTime, entity.EndTime);
            database.AddInParameter(commandWrapper, "@LastFailTime", DbType.DateTime, entity.LastFailTime);
            database.AddInParameter(commandWrapper, "@Status", DbType.Int32, entity.Status);
            database.AddInParameter(commandWrapper, "@SuccessTimes", DbType.Int64, entity.SuccessTimes);
            database.AddInParameter(commandWrapper, "@FailTimes", DbType.Int64, entity.FailTimes);
            database.AddInParameter(commandWrapper, "@RetryTimes", DbType.Int32, entity.RetryTimes);


            int results = 0;

            if (trans != null)
            {
                results = database.ExecuteNonQuery(commandWrapper, trans);
            }
            else
            {
                results = database.ExecuteNonQuery(commandWrapper);
            }

            entity.Idx = (System.Int32)database.GetParameterValue(commandWrapper, "@Idx");

            return(Convert.ToBoolean(results));
        }
Example #2
0
 public static void ScheduleFinish(MonitorScheduleEntity schedule, int returnCode)
 {
     try
     {
         MonitorScheduleMgr.Finish(schedule.Idx, schedule.Status, schedule.NextInvokeTime, schedule.EndTime, schedule.LastFailTime, schedule.SuccessTimes, schedule.FailTimes, schedule.RetryTimes);
         if (schedule.ScheduleTimeType == (int)EnumScheduleTimeType.TimeTable || schedule.Status != (int)EnumScheduleStatus.Succeed)
         {
             doSaveScheduleLog(new LogScheduleEntity()
             {
                 AppId          = schedule.AppId,
                 EndTime        = schedule.EndTime,
                 NextInvokeTime = schedule.NextInvokeTime,
                 RetryTimes     = schedule.RetryTimes,
                 ReturnCode     = returnCode,
                 ScheduleId     = schedule.ScheduleId,
                 StartTime      = schedule.StartTime,
                 Status         = schedule.Status,
                 TerminalIp     = schedule.TerminalIp
             });
         }
     }
     catch (Exception ex)
     {
         LogHelper.Insert(ex);
     }
 }
Example #3
0
        /// <summary>
        /// GetById
        /// </summary>
        /// <param name="idx">idx</param>
        /// <returns>MonitorScheduleEntity</returns>
        /// <remarks>2016/1/7 15:48:28</remarks>
        public MonitorScheduleEntity GetById(System.Int32 idx)
        {
            var database = new SqlDatabase(this.ConnectionString);

            DbCommand commandWrapper = database.GetStoredProcCommand("P_MonitorSchedule_GetById");

            database.AddInParameter(commandWrapper, "@Idx", DbType.Int32, idx);


            MonitorScheduleEntity obj = null;

            using (IDataReader reader = database.ExecuteReader(commandWrapper))
            {
                if (reader.Read())
                {
                    obj = LoadSingleRow(reader);
                }
            }
            return(obj);
        }
Example #4
0
        /// <summary>
        /// 将IDataReader的当前记录读取到MonitorScheduleEntity 对象
        /// </summary>
        /// <param name="reader"></param>
        /// <returns></returns>
        public MonitorScheduleEntity LoadSingleRow(IDataReader reader)
        {
            var obj = new MonitorScheduleEntity();

            obj.Idx            = (System.Int32)reader["Idx"];
            obj.ZoneId         = (System.Int32)reader["ZoneId"];
            obj.ScheduleId     = (System.Int32)reader["ScheduleId"];
            obj.AppId          = (System.Int32)reader["AppId"];
            obj.TerminalIp     = (System.String)reader["TerminalIp"];
            obj.StartTime      = (System.DateTime)reader["StartTime"];
            obj.NextInvokeTime = (System.DateTime)reader["NextInvokeTime"];
            obj.EndTime        = (System.DateTime)reader["EndTime"];
            obj.LastFailTime   = (System.DateTime)reader["LastFailTime"];
            obj.Status         = (System.Int32)reader["Status"];
            obj.SuccessTimes   = (System.Int64)reader["SuccessTimes"];
            obj.FailTimes      = (System.Int64)reader["FailTimes"];
            obj.RetryTimes     = (System.Int32)reader["RetryTimes"];

            return(obj);
        }
Example #5
0
        private void Init(ConfigScheduleEntity configSchedule)
        {
            _monitor = SystemlogMgr.GetScheduleMonitor(configSchedule.Idx);
            if (_monitor == null)
            {
                throw new Exception("[ScheduleInfo] no monitor,schedule id:" + configSchedule.Idx);
            }
            _monitor.ScheduleTimeType = configSchedule.TimeType;
            _scheduleConfig           = configSchedule;
            _scheduleTimes            = configSchedule.Times;
            bool isChampion = CheckIsChampion(configSchedule.Idx);

            switch (configSchedule.TimeType)
            {
            default:
            case (int)EnumScheduleTimeType.TimeTable:
                _timeConfig = new ScheduleTimeConfigTimeTable(configSchedule.Setting, isChampion);
                break;

            case (int)EnumScheduleTimeType.Interval:
                _timeConfig = new ScheduleTimeConfigInterval(configSchedule.Setting);
                break;
            }
            if (_scheduleConfig.RetryTimes > 0)
            {
                _maxRetryTimes = _scheduleConfig.RetryTimes - 1;
            }
            if (configSchedule.RunDelay >= 0)
            {
                _nextInvokedDateTime = DateTime.Now.AddMinutes(configSchedule.RunDelay);
            }
            else
            {
                _nextInvokedDateTime = _timeConfig.GetNext(DateTime.Now);
            }
            if (_scheduleConfig.TimeType == (int)EnumScheduleTimeType.Interval && _timeConfig.GetIntervalTime() < 1000)
            {
                _isIntensive = true;
            }
            Log("下次时间" + _nextInvokedDateTime);
        }
Example #6
0
        /// <summary>
        /// GetByZone
        /// </summary>
        /// <param name="zoneId">zoneId</param>
        /// <param name="scheduleId">scheduleId</param>
        /// <param name="appId">appId</param>
        /// <param name="terminalIp">terminalIp</param>
        /// <returns>MonitorScheduleEntity</returns>
        /// <remarks>2016/1/7 15:48:28</remarks>
        public MonitorScheduleEntity GetByZone(System.Int32 zoneId, System.Int32 scheduleId, System.Int32 appId, System.String terminalIp)
        {
            var database = new SqlDatabase(this.ConnectionString);

            DbCommand commandWrapper = database.GetStoredProcCommand("C_MonitorSchedule_GetByZone");

            database.AddInParameter(commandWrapper, "@ZoneId", DbType.Int32, zoneId);
            database.AddInParameter(commandWrapper, "@ScheduleId", DbType.Int32, scheduleId);
            database.AddInParameter(commandWrapper, "@AppId", DbType.Int32, appId);
            database.AddInParameter(commandWrapper, "@TerminalIp", DbType.AnsiString, terminalIp);


            MonitorScheduleEntity obj = null;

            using (IDataReader reader = database.ExecuteReader(commandWrapper))
            {
                if (reader.Read())
                {
                    obj = LoadSingleRow(reader);
                }
            }
            return(obj);
        }
Example #7
0
 /// <summary>
 /// Update
 /// </summary>
 /// <param name="entity"></param>
 /// <returns></returns>
 /// <remarks>2016/1/7 15:48:28</remarks>
 public bool Update(MonitorScheduleEntity entity)
 {
     return(Update(entity, null));
 }
Example #8
0
 /// <summary>
 /// Insert
 /// </summary>
 /// <param name="entity"></param>
 /// <param name="trans">The trans.</param>
 /// <returns></returns>
 /// <remarks>2016/1/7 15:48:28</remarks>
 public bool Insert(MonitorScheduleEntity entity)
 {
     return(Insert(entity, null));
 }
        public static bool Update(MonitorScheduleEntity monitorScheduleEntity, DbTransaction trans = null, string zoneId = "")
        {
            var provider = new MonitorScheduleProvider(zoneId);

            return(provider.Update(monitorScheduleEntity, trans));
        }