public int AutoEndEnd() { TimeSpan runtime = TimeSpan.FromHours(1.5); using (RLib.DB.DbConn dbconn = Pub.GetConn()) { var disdpatchdal = new DAL.DispatchDal(); var dis = disdpatchdal.GetRunDispatchs(dbconn, DateTime.Now.Subtract(runtime)); int s = 0; foreach (var a in dis) { var disitem = disdpatchdal.GetLastDispatchKeyItem(dbconn, a.TaskId, a.RunKey); if (disitem == null) { continue; } if (disitem.DispatchState >= 2 && disitem.DispatchState <= 4) { disdpatchdal.EndExec(dbconn, a.DispatchId, true, "检测自动结束!"); try { CmdHelper.Instance.StopDispatch(disitem.DispatchId); } catch { } s++; } } return(s); } }
public DateTime[] GetMinWorkRunDisTime() { DateTime[] ts = new DateTime[3]; using (RLib.DB.DbConn dbconn = Pub.GetConn()) { ts[0] = new DAL.TaskLogDal().GetMinWorkLogDate(dbconn); ts[1] = new DAL.TaskLogDal().GetMinRunLogDate(dbconn); ts[2] = new DAL.DispatchDal().GetMinLogDate(dbconn); return(ts); } }
public int DeleteDispatchLog(DateTime endtime) { if ((DateTime.Now - endtime).TotalDays < 3) { throw new MException("近3天的分配日志不能清除!"); } using (RLib.DB.DbConn dbconn = Pub.GetConn()) { int deletecount = new DAL.DispatchDal().DeleteDispatchLog(dbconn, endtime); return(deletecount); } }
public string ShowRuningDispatch(int dispatchid) { using (RLib.DB.DbConn dbconn = Pub.GetConn()) { var disdpatchdal = new DAL.DispatchDal(); var dismodel = disdpatchdal.GetDetail(dbconn, dispatchid); string msg = Ruanal.Core.ConfigConst.TalkAskDispatchRunning + string.Format("{0}#{1}", dismodel.TaskId, dismodel.RunKey); var result = Ruanal.Core.Notify.NotifyHelper.TalkToAll(msg, 4000, 0); string resulttex = string.Format("收到回复:[{0}]", string.Join(",", result)); return(resulttex); } }
public int DeleteDispath(int dispatchid) { int r = 0; using (RLib.DB.DbConn dbconn = Pub.GetConn()) { var disdpatchdal = new DAL.DispatchDal(); r = disdpatchdal.Delete(dbconn, dispatchid); } try { CmdHelper.Instance.StopDispatch(dispatchid); } catch (Exception ex) { } return(r); }
public PageModel <Model.Dispatch> GetDispatchPage(int pno, string keywords, DateTime?begintime, DateTime?endtime, int?taskid, int?nodeid, int?dispatchState) { using (RLib.DB.DbConn dbconn = Pub.GetConn()) { var disdpatchdal = new DAL.DispatchDal(); int totalcount = 0; int pagesize = 20; var models = disdpatchdal.GetDispatchs(dbconn, taskid, nodeid, dispatchState, keywords, begintime, endtime, pno, pagesize, out totalcount); return(new PageModel <Dispatch>() { List = models, PageNo = pno, PageSize = pagesize, TotalCount = totalcount }); } }