public void associate() { string def_task_name = "defaule task name"; CycleTaskStrategy aStrate = new CycleTaskStrategy(new TimeSpan(TimeSpan.TicksPerSecond)); CycleTaskStrategy aStrate2 = new CycleTaskStrategy(new TimeSpan(TimeSpan.TicksPerSecond)); Task task = new Task(def_task_name, T.cmd_coll_realdata, aStrate); Assert.AreEqual(task.TaskStrategy, aStrate); Task task2 = new Task(def_task_name, T.cmd_coll_realdata, aStrate2); Assert.AreEqual(task2.TaskStrategy, aStrate2); }
private bool SaveCollSettings() { int newGrCollCycle; try { newGrCollCycle = int.Parse(this.txtGRCollCycle.Text.Trim()); } catch { MsgBox.Show("采集周期必须输入数字"); return(false); } if (newGrCollCycle < MIN_COLL_CYCLE) { MsgBox.Show("采集周期不能小于" + MIN_COLL_CYCLE + "分钟"); return(false); } if (newGrCollCycle > MAX_COLL_CYCLE) { MsgBox.Show("采集周期不能大于" + MIN_COLL_CYCLE + "分钟"); return(false); } XGConfig.Default.GrRealDataCollCycle = newGrCollCycle; // refresh task coll cycle // TasksCollection tasks = Singles.S.TaskScheduler.Tasks; foreach (Task t in tasks) { TaskStrategy s = t.TaskStrategy; CommCmdBase cmd = t.CommCmd; if (s is CycleTaskStrategy && cmd is GRCtrl.GRRealDataCommand) { CycleTaskStrategy cyc = s as CycleTaskStrategy; cyc.Cycle = GetCycle(newGrCollCycle); } } // TODO: update app.config file // return(true); }
private void SetCollCycle() { TasksCollection tasks = Singles.S.TaskScheduler.Tasks; foreach (Task t in tasks) { TaskStrategy s = t.TaskStrategy; if (s is CycleTaskStrategy) { CycleTaskStrategy cyc = s as CycleTaskStrategy; cyc.Cycle = GetCycle(); } } }
public void change_stategy_to_other() { string def_task_name = "defaule task name"; CycleTaskStrategy aStrate = new CycleTaskStrategy(new TimeSpan(TimeSpan.TicksPerSecond)); CycleTaskStrategy aStrate2 = new CycleTaskStrategy(new TimeSpan(TimeSpan.TicksPerSecond)); Task task = new Task(def_task_name, T.cmd_coll_realdata, aStrate); Assert.AreEqual(task.TaskStrategy, aStrate); task.TaskStrategy = aStrate2; Assert.AreEqual(null, aStrate.Owning); Assert.AreEqual(aStrate2, task.TaskStrategy); Assert.AreEqual(task, aStrate2.Owning); }
/// <summary> /// 解析采集供热实时数据命令, /// parse xgdata read /// </summary> /// <returns></returns> private static TasksCollection ResolveGRRealDataTaskFromDB() { string FailMsg = "Fail list:\r\n"; //TODO: ResolveGRRealDataTaskFromDB // // 2007.03.10 Modify not use client flag, use serverIP diff local or remote gprs module, // // string sql = string.Format( // "select * from v_gprs_gr_xg where client = {0}", // XGConfig.Default.ClientAorB ); string sql = "select * from v_gprs_gr_xg"; DataSet ds = XGDB.DbClient.Execute(sql); DataTable tbl = ds.Tables[0]; TasksCollection tasks = new TasksCollection(); foreach (DataRow r in tbl.Rows) { string name = r["name"].ToString(); int grAddr = int.Parse(r["gr_address"].ToString()); int xgAddr = int.Parse(r["xg_address"].ToString()); string ip = r["ip"].ToString(); string serverIP = r["serverIP"].ToString(); string team = r["team"].ToString().Trim(); //GRStation grst = new GRStation(name, grAddr, ip); GRStation grst = CreateGrStation(name, grAddr, ip, team); grst.ServerIP = serverIP; if (grst != null) { // 2007.03.07 Added grstation to singles.grstationsCollection // Singles.S.GRStsCollection.Add(grst); // 2007.03.01 Added gtstation last grRealdata // if (Singles.S.GRStRds == null) { Singles.S.GRStRds = new GRStationLastRealDatasCollection(); } // create and add a new grstation last read data object to Singles.GRStRds // GRStationLastRealData grstLastRd = new GRStationLastRealData(grst); Singles.S.GRStRds.Add(grstLastRd); // 2007.03.10 Added check grstation(gprsstation).serverIP is the localhost ip // if (serverIP == XGConfig.Default.ServerIP) { // create a new grrealdata task for grStation // GRRealDataCommand cmd = new GRRealDataCommand(grst); TimeSpan timeSp = new TimeSpan(0, 0, XGConfig.Default.GrRealDataCollCycle, 0, 0); CycleTaskStrategy strategy = new CycleTaskStrategy(timeSp); Task t = new Task(cmd, strategy); tasks.Add(t); } } else { FailMsg += name + Environment.NewLine; } // 2007.03.12 Added xg data task // XGStation xgst = CreateXgStation(name, xgAddr, ip); //TODO: ? xgst.serverIP = serverip // xgst.ServerIP = serverIP; if (xgst != null) { Singles.S.XGStsCollection.Add(xgst); if (serverIP == XGConfig.Default.ServerIP) { ReadTotalCountCommand xgCountCmd = new ReadTotalCountCommand(xgst); TimeSpan ts = new TimeSpan(0, 0, XGConfig.Default.XgReadCountCycle, 0, 0); CycleTaskStrategy strategy = new CycleTaskStrategy(ts); Task t = new Task(xgCountCmd, strategy); tasks.Add(t); // t.AfterProcessReceived +=new EventHandler(t_AfterProcessReceived); } } else { } } if (FailMsg.Length >= 13) { MsgBox.Show(FailMsg); } return(tasks); }