public void Execute(PerformContext context) { /* * 1. 顯示訊息 * 2. 檢查目標是否存在 * 3. 執行動作 */ // Arrange context.WriteLine($"{DateTime.Now:yyyy/MM/dd HH:mm:ss} CalcSpaceJob 開始執行 ..."); _action = context.GetJobData <CaleSpaceActoinType>("Type"); context.WriteLine($"執行類別為:{_action}"); _calc = GetCale(_action); // 取得目標位置 var target = _calc.GetTarget(context); context.WriteLine($"目標位置:{target}"); //Checking if (!_calc.TargetExists(target)) { context.SetTextColor(ConsoleTextColor.Red); context.WriteLine($"目標位置不存在,位置為:{target}"); context.ResetTextColor(); } // Act context.WriteLine($"計算目標{target}"); var searchPattern = context.GetJobData <string>("searchPattern"); context.WriteLine($"搜尋模式字串:{searchPattern}"); var result = _calc.Calculate(target, searchPattern); context.WriteLine("目標大小為:{0}", result); // WriteTo("41DCF8A5ACB74AA38DD3DB8CB1EE5462", DateTime.Now, result); }
public void Execute(PerformContext context) { context.WriteLine($"{DateTime.Now:yyycontext.WriteLine(y/MM/dd HH:mm:ss} ExecExternalJob 開始執行 ..."); var wft = context.GetJobData <WaitForType>("WaitFor"); var program = context.GetJobData <string>("Program"); var cmd = context.GetJobData <string>("command"); var timeOut = context.GetJobData <int>("TimeOut"); switch (wft) { case WaitForType.DonotCare: context.WriteLine(CmdHelper.RunProgram(program, cmd)); break; case WaitForType.WaitForTimeOut: context.WriteLine(CmdHelper.RunProgram(program, cmd, timeOut)); break; case WaitForType.WaitFor: context.WriteLine(CmdHelper.RunProgramWaitFor(program, cmd)); break; default: throw new ArgumentOutOfRangeException(); } context.WriteLine($"{DateTime.Now:yyyy/MM/dd HH:mm:ss} ExecExternalJob 完成 ..."); }
public void Execute(PerformContext context) { context.WriteLine($"{DateTime.Now:yyyy/MM/dd HH:mm:ss} SampleJobA Running ..."); var intVal = context.GetJobData <int>("IntVal"); var stringVal = context.GetJobData <string>("StringVal"); var booleanVal = context.GetJobData <bool>("BooleanVal"); var simpleObject = context.GetJobData <PamanObject>("SimpleObject"); context.WriteLine("完成"); }
public void Execute(PerformContext context) { context.WriteLine(DateTime.Now.ToString("yyyy/MM/dd HH:mm:ss") + " MyJob2 Running ..."); var intVal = context.GetJobData <int>("IntVal"); var stringVal = context.GetJobData <string>("StringVal"); var booleanVal = context.GetJobData <bool>("BooleanVal"); var simpleObject = context.GetJobData <SimpleObject>("SimpleObject"); context.SetJobData("IntVal", ++intVal); context.WriteLine("IntVal changed to " + intVal); context.SetJobData("NewIntVal", 99); var newIntVal = context.GetJobData <int>("NewIntVal"); }
public void Execute(PerformContext context) { context.WriteLine($"{DateTime.Now.ToString("yyyy/MM/dd HH:mm:ss")} MyJob2 Running ..."); var intVal = context.GetJobData <int>("IntVal"); var stringVal = context.GetJobData <string>("StringVal"); var booleanVal = context.GetJobData <bool>("BooleanVal"); var simpleObject = context.GetJobData <SimpleObject>("SimpleObject"); context.WriteLine($"IntVal:{intVal},StringVal:{stringVal},BooleanVal:{booleanVal},simpleObject:{JobHelper.ToJson(simpleObject)}"); }
public void Execute(PerformContext context) { if (IsRunning == false) { lock (_obj) { if (IsRunning == false) { IsRunning = true; context.WriteLine("开始执行缓存更新任务"); try { context.GetJobData(); using (var scope = Static.serviceProvider.CreateScope()) { // doing .... } context.WriteLine("结束执行缓存更新任务"); } catch (Exception ex) { context.WriteLine($"执行缓存更新任务出现异常:{ex}"); } IsRunning = false; } } } }
public void Execute(PerformContext context) { if (IsRunning == false) { lock (_obj) { if (IsRunning == false) { IsRunning = true; context.WriteLine("开始执行缓存更新任务"); try { context.GetJobData(); context.WriteLine("结束执行缓存更新任务"); } catch (Exception ex) { context.WriteLine($"执行缓存更新任务出现异常:{ex}"); } IsRunning = false; } } } }
public void Execute(PerformContext context) { context.WriteLine($"{DateTime.Now:yyyy/MM/dd HH:mm:ss} RunPowerShell Job Running ..."); var script = context.GetJobData <string>("script"); // var script = @"Get-Service"; using (var ps = PowerShell.Create()) { ps.AddScript(script); foreach (var result in ps.Invoke()) // foreach (var msg in ps.Invoke<string>()) { context.WriteLine(result.Members["Name"].Value); } // 判斷是否有錯誤 if (ps.Streams.Error.Count != 0) { var errors = ps.Streams.Error; if (errors != null && errors.Count > 0) { foreach (var err in errors) { context.WriteLine($"錯誤: {err}"); } } } } context.WriteLine("執行Power Shell 完成"); }
public void Execute(PerformContext context) { context.WriteLine($"{DateTime.Now.ToString("yyyy/MM/dd HH:mm:ss")} MyJob2 Running ..."); ModelTwo model = context.GetJobData <ModelTwo>("SimpleObject"); context.WriteLine(model.Name + ";" + model.Age); }
public void Execute(PerformContext context) { context.WriteLine($"{DateTime.Now:yyyy/MM/dd HH:mm:ss} RunCmdJob 開始執行 ..."); var cmd = context.GetJobData <string>("command"); CmdHelper.Run(cmd, context.WriteLine); context.WriteLine($"{DateTime.Now:yyyy/MM/dd HH:mm:ss} RunCmdJob 完成 ..."); }
public void Execute(PerformContext context) { context.SetJobData("NewIntVal", 99); var newIntVal = context.GetJobData <int>("NewIntVal"); context.WriteLine("NewIntVal:" + newIntVal); context.WriteLine(DateTime.Now.ToString("yyyy/MM/dd HH:mm:ss") + " MyJob1 Running ..."); }
public void Execute(PerformContext context) { context.WriteLine($"{DateTime.Now:yyyy/MM/dd HH:mm:ss} Check Warehouse Running ..."); // Arrange // todo 這里要處理密碼加密的問題 var connString = context.GetJobData <DBConnectionstring>("ConnectionString"); context.WriteLine($"ConnectionInfo- IP:{connString.ServerIP} DB:{connString.DBNM} User:{connString.User}"); var useToDay = context.GetJobData <bool>("UseToDay"); var startDate = useToDay ? DateTime.Today : context.GetJobData <DateTime>("StartDate"); var service = new WaterNumberService(connString.connectionstring); // 執行 var result = service.Execute(startDate); // 回報 context.WriteLine($"發現欠缺單號情況共有{result.Incompletes.Count()}組"); context.WriteLine($"發現欠缺單號共有{result.Incompletes.Count()}筆"); result.MForms.ToList().ForEach(r => context.WriteLine($"發現欠缺單號{r.VCH_TY}-{r.expected},日期為{r.VCH_DT:yyyy/MM/dd}")); context.WriteLine("完成單別流水號是否有欠缺任務"); }
public void Execute(PerformContext context) { context.WriteLine($"{DateTime.Now:yyyy/MM/dd HH:mm:ss} Maintain Rule Running ..."); // Arrange // todo 這里要處理密碼加密的問題 var connString = context.GetJobData <DBConnectionstring>("ConnectionString"); string TRGID = context.GetJobData <string>("GID"); context.WriteLine($"ConnectionInfo - IP:{connString.ServerIP} DB:{connString.DBNM} User:{connString.User}"); context.WriteLine($"TriggerID - {TRGID}"); var service = new DBMaintainService(connString.connectionstring) { triggerMapDataValueGID = TRGID }; // 執行 var result = service.Execute(context.WriteLine); // 回報 context.WriteLine($"共執行了{result}項目"); context.WriteLine("完成規則維護任務"); }
public void Execute(PerformContext context) { context.WriteLine($"{DateTime.Now:yyyy/MM/dd HH:mm:ss} Synchronize data running..."); // Arrange // todo 這里要處理密碼加密的問題 var connString = context.GetJobData <DBConnectionstring>("ConnectionString"); context.WriteLine($"ConnectionInfo- IP:{connString.ServerIP} DB:{connString.DBNM} User:{connString.User}"); var useToDay = context.GetJobData <bool>("UseToDay"); var startDate = useToDay ? DateTime.Today : context.GetJobData <DateTime>("StartDate"); var toKSCservice = new CCMToKSCService(connString.connectionstring) { InsertToTemp = context.GetJobData <string>("InsertToTemp"), InsertTempToFormal = context.GetJobData <string>("InsertTempToFormal") }; context.WriteLine($"從CCM-->KSC筆數為:{toKSCservice.Execute()}"); var toSubCservice = new KSCToSubService(connString.connectionstring) { ScriptFile = context.GetJobData <string>("ToSubSQL") }; context.WriteLine($"從KSC-->Sub筆數為:{toSubCservice.Execute()}"); context.WriteLine("完成同步料號到各地區任務"); }
public void Execute(PerformContext context) { context.WriteLine($"{DateTime.Now:yyyy/MM/dd HH:mm:ss}設定單據性質設定任務開始執行 ..."); // Arrange var connString = context.GetJobData <DBConnectionstring>("ConnectionString"); context.WriteLine($"ConnectionInfo- IP:{connString.ServerIP} DB:{connString.DBNM} User:{connString.User}"); var jobdata = context.GetJobData <IList <VchCfgItem> >("ITEM"); var service = new SetVchCfgService(connString.connectionstring); // 在這個任務中強制要給昨天日期 var yesterday = DateTime.Today.AddDays(-1).ToString("yyyy/MM/dd"); // act foreach (var pair in jobdata) { context.WriteLine($"設定單別為{pair.VCHTY},將欄位({pair.Field})設定為{pair.Value}"); service.SetItem(pair.Field, yesterday, pair.VCHTY); } var count = service.Execute(); // Feedback context.WriteLine($"共更新{count}筆資料"); context.WriteLine("完成設定單據性質設定任務"); }
public void Execute(PerformContext context) { context.WriteLine($"{DateTime.Now.ToString("yyyy/MM/dd HH:mm:ss")} LongRunningJob Running ..."); var runningTimes = context.GetJobData <int>("RunningTimes"); context.WriteLine($"get job data parameter-> RunningTimes: {runningTimes}"); var progressBar = context.WriteProgressBar(); foreach (var i in Enumerable.Range(1, runningTimes).ToList().WithProgress(progressBar)) { Thread.Sleep(1000); } }
public void Execute(PerformContext context) { var cityId = context.GetJobData <string>("CityId"); var client = _httpClientFactory.CreateClient(); client.BaseAddress = new Uri("http://aider.meizu.com"); Task <string> task = client.GetStringAsync($"/app/weather/listWeather?cityIds={cityId}"); task.Wait(); string result = task.Result; JObject jObj = JObject.Parse(result); if (jObj.Value <string>("code") != "200") { throw new Exception("返回的状态不是200!"); } var timeZone = context.GetJobData <string>("TimeZone"); DateTime nowTime_CN = TimeZoneInfo.ConvertTimeFromUtc(DateTime.UtcNow, TimeZoneInfo.FindSystemTimeZoneById(timeZone)); string dayInfo = "今天"; if (nowTime_CN.Hour > 12) { dayInfo = "明天"; nowTime_CN = nowTime_CN.AddDays(1d); } JArray jarrCityWeather = jObj.Value <JArray>("value"); foreach (JToken jtCityWeather in jarrCityWeather) { var cityName = jtCityWeather.Value <string>("city"); //最近几日天气情况 JArray jarrWeathers = jtCityWeather.Value <JArray>("weathers"); foreach (var jtDayWeather in jarrWeathers) { DateTime tempDate = jtDayWeather.Value <DateTime>("date"); if (tempDate.Date == nowTime_CN.Date) { //白天温度,最高温度,摄氏度 string dayTemp = jtDayWeather.Value <string>("temp_day_c"); //夜晚温度,最低温度,摄氏度 string nightTemp = jtDayWeather.Value <string>("temp_night_c"); //wd:风向 string wd = jtDayWeather.Value <string>("wd"); wd = string.IsNullOrWhiteSpace(wd) ? "" : $",风向:{wd}"; //ws:风力大小 string ws = jtDayWeather.Value <string>("ws"); ws = string.IsNullOrWhiteSpace(ws) ? "" : $",风力:{ws}"; //weather:天气情况 string weather = jtDayWeather.Value <string>("weather"); string msg = $"{cityName},{dayInfo}天气:{weather} ,温度:{nightTemp}~{dayTemp}℃{wd}{ws}。"; var toPhoneNumber = context.GetJobData <string>("ToPhoneNumber"); TwilioHelper.SendSms(toPhoneNumber, msg).Wait(); break; } } } }
public string GetTarget(PerformContext context) { return(context.GetJobData <string>("Path")); }
public void Execute(PerformContext context) { var paras = context.GetJobData(); Console.WriteLine($"{DateTime.Now}-execute MyRecurringJob-param1:{paras["param1"]}"); }