/// <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)); }
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); } }
/// <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); }
/// <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); }
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); }
/// <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); }
/// <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)); }
/// <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)); }