protected override DateTime BenchDate(Quartz.IJobExecutionContext context) { //every 5mins, figure out new create/updated products, promotions var dataMap = context.JobDetail.JobDataMap; int intervalMins = dataMap.ContainsKey("interval") ? dataMap.GetIntValue("interval") : 5; return DateTime.Now.AddMinutes(-intervalMins); }
public void Execute(Quartz.IJobExecutionContext context) { if (context != null) { try { var ip = context.MergedJobDataMap.GetString("BehaviorServerIp"); var port = context.MergedJobDataMap.GetIntValue("BehaviorServerPort"); var behaviorName = context.MergedJobDataMap.GetString("BehaviorName"); if (!string.IsNullOrEmpty(ip) && port != 0) { using (var ctx = NetMQ.NetMQContext.Create()) { using (var sock = ctx.CreateRequestSocket()) { var addr = string.Format("{0}:{1}", ip, port); Log.InfoFormat("Connecting to behavior server: {0}", addr); sock.Connect(addr); Log.InfoFormat("Connected to behavior server: {0}", addr); sock.Send(behaviorName); Log.InfoFormat("Sent behavior execution request: {0}", behaviorName); var reply = sock.ReceiveString(); Log.InfoFormat("Behavior execution response: {0}", reply); } } } } catch (Exception ex) { Log.ErrorFormat("Simple behavior error : {0}", ex.Message); } } }
public void JobToBeExecuted(Quartz.IJobExecutionContext context) { logger.Debug("UploadJobListener.JobToBeExecuted() 执行之前先检查一下表是否需要更新!!"); string Url = ConfUtil.UploadUrl() + "?customerId=" + ConfUtil.CustomerId() + "&Version=" + Assembly.GetExecutingAssembly().GetName().Version.ToString(); try { logger.DebugFormat("上传空数据,以获得表的最后更新时间!,URL:{0}",Url); DataResult ret = HttpClientHelper.PostResponse<DataResult>(Url, "[]"); if (ret != null) { logger.DebugFormat("表的最后更新时间 msec={0}", ret.DeviceLatestUpdateMsec); Common.UpdateMeters(ret.DeviceLatestUpdateMsec); context.JobDetail.JobDataMap.Put(Consts.DeviceLatestUpdateKey, true); } else { logger.DebugFormat("****返回空记录!,URL:{0}", Url); } } catch (Exception ex) { context.JobDetail.JobDataMap.Put(Consts.DeviceLatestUpdateKey, false); logger.Debug("获得表的最后更新时间异常", ex); } }
public void Execute(Quartz.IJobExecutionContext context) { //this._logger.Trace("Starting RunDeploymentJob.Execute"); //lock (typeof(RunBatchDeploymentJob)) //{ // if (_isRunning) // { // this._logger.Info("RunDeploymentJob already running"); // return; // } // else // { // _isRunning = true; // } //} try { _deployBatchRunner.TryRunNextDeployment(); } catch (Exception err) { this._logger.ErrorException("RunDeploymentJob failed: " + err.ToString(), err); } //finally //{ // _isRunning = false; //} this._logger.Trace("Done RunDeploymentJob.Execute"); }
// Use this for initialization IEnumerator Start() { first_quartz_ = null; second_quartz_ = null; quartz_prefab_ = GameObject.Find("Quartz"); System.Random random = new System.Random(); Quartz[] quartz_array = new Quartz[QUARTZ_NUMBER]; for (int i = 0; i < QUARTZ_NUMBER; ++i) { Quartz new_quartz_script = ((GameObject)Instantiate( quartz_prefab_, new Vector3(i % QUARTZ_PER_ROW * 2.5f - 4.0f, i / QUARTZ_PER_ROW * 2.5f - 4.0f, 0), Quaternion.identity)).GetComponent <Quartz>(); quartz_array[i] = new_quartz_script; new_quartz_script.SetLevel(1); new_quartz_script.SetColor(colors[random.Next(0, 3)]); new_quartz_script.Toggle(); } // TODO: use animation or other better way to replace wait. yield return(new WaitForSeconds(5)); for (int i = 0; i < QUARTZ_NUMBER; ++i) { quartz_array[i].Toggle(); } }
public void Execute(Quartz.IJobExecutionContext context) { logger.Debug("执行清理任务!!!!!!!!!!!!!!!"); using (MysqlDbContext dbcontext = new MysqlDbContext()) { try { logger.DebugFormat("开始清除数据!"); dbcontext.Database.ExecuteSqlCommand("delete from uploaddatas where uploaded={0}", 3); dbcontext.SaveChanges(); } catch (Exception ex) { logger.Error("清除数据失败", ex); } } using (MysqlDbContext dbcontext = new MysqlDbContext()) { //清理长时间未上传成功的数据 int days = ConfUtil.ForceClearDays(); logger.DebugFormat("采集后超过{0}天的数据强制清除(未上传的数据也清除)!", days); try { long nowJavaMill=(long)DateTime.Now.Subtract(new DateTime(1970, 1, 1)).TotalMilliseconds; long daysMill =(long)TimeSpan.FromDays(days).TotalMilliseconds; dbcontext.Database.ExecuteSqlCommand("delete from uploaddatas where {0} - groupstamp > {1} ", nowJavaMill, daysMill); dbcontext.SaveChanges(); } catch (Exception ex) { logger.Error("强制清除失败", ex); } } }
public void Execute(Quartz.IJobExecutionContext context) { if (context != null) { var behaviorType = context.MergedJobDataMap.Get("BehaviorType") as Type; var execContext = context.MergedJobDataMap.Get("ExecutionContext") as IBehaviorExecutionContext; var triggerResult = context.MergedJobDataMap.Get("TriggerResult") as TriggerResult; if (behaviorType != null && execContext != null && triggerResult != null) { var execMethodInfo = behaviorType.GetMethod("Execute"); if (execMethodInfo != null) { // Create the instance of the Startupbehavior type var startupInstance = Activator.CreateInstance(behaviorType); if (startupInstance != null) { Log.Info(@"------------- Task Details --------------"); Log.InfoFormat(@"Behavior type Name : {0}", behaviorType.Name); // Invoke the execute method var result = execMethodInfo.Invoke(startupInstance, new object[] {execContext, triggerResult}); if (result != null) { Log.InfoFormat(@"Execution result : {0}", result); } } } } } }
public void Execute(Quartz.IJobExecutionContext context) { var updater = EPMCS.Service.Service.updater; logger.Debug("执行软件升级任务!!!!!!!!!!!!!!!"); updater.Error += (s, e) => { logger.DebugFormat("更新发生了错误:{0},URL:{1}", updater.Context.Exception.Message, updater.Context.UpdateInfoFileUrl); }; updater.UpdatesFound += (s, e) => { logger.Debug("发现了新版本: " + updater.Context.UpdateInfo.AppVersion); //开始更新 updater.StartExternalUpdater(); }; updater.NoUpdatesFound += (s, e) => { logger.Debug("没有新版本! "); }; updater.MinmumVersionRequired += (s, e) => { logger.Debug("当前版本过低无法使用自动更新! "); }; //Updater.CheckUpdateSimple();// updater.Context.EnableEmbedDialog = false; updater.BeginCheckUpdateInProcess(); }
public static void Postfix(Quartz __instance, Tool t) { if (wasCobalt) { t.UpgradeLevel = 5; wasCobalt = false; } }
public void Execute(Quartz.JobExecutionContext context) { string extraText = "[none]"; if (context.MergedJobDataMap.Contains("ExtraText")) { extraText = context.MergedJobDataMap["ExtraText"].ToString(); } Console.WriteLine(string.Format("Hello from ConsoleJob1 - {0}\nExtra Text:{1}", DateTime.Now, extraText)); }
public static bool Prefix(Quartz __instance, Tool t) { if (t is Pickaxe && t.UpgradeLevel == 5) { wasCobalt = true; t.UpgradeLevel = 4; } return(true); }
public override void Update(Quartz.IScheduler scheduler) { this.Scheduler = scheduler; //NOT SUPPORT this.TriggerListeners = scheduler.ListenerManager.GetTriggerListeners().ToList(); this.SchedulerListeners = scheduler.ListenerManager.GetSchedulerListeners().ToList(); this.JobListeners = scheduler.ListenerManager.GetJobListeners().ToList(); this.NotifyOfPropertyChange(() => this.TriggerListeners); this.NotifyOfPropertyChange(() => this.SchedulerListeners); this.NotifyOfPropertyChange(() => this.JobListeners); }
protected override void ExecuteJob(Quartz.IJobExecutionContext context) { var modulename = context.JobInstance.GetType().FullName; var config = SYNC_SECTION_CONFIG[modulename]; var dbfrom = CreateDataHandler(string.IsNullOrWhiteSpace(config.DbFrom) ? SYNC_SECTION_CONFIG.DefaultContext.DbFrom : config.DbFrom); var dbtarget = CreateDataHandler(string.IsNullOrWhiteSpace(config.DbTarget) ? SYNC_SECTION_CONFIG.DefaultContext.DbTarget : config.DbTarget); var commandText = string.IsNullOrWhiteSpace(config.CommandText) ? SYNC_SECTION_CONFIG.DefaultContext.CommandText : config.CommandText; Execute(dbfrom, dbtarget, commandText); }
public Quartz.IJob NewJob(TriggerFiredBundle bundle, Quartz.IScheduler scheduler) { try { return (IJob)this.Container.Resolve(bundle.JobDetail.JobType); } catch (Exception ex) { throw; } }
/// <summary> /// 删除 /// </summary> /// <param name="scheduler"></param> /// <param name="dellist"></param> public static void deleteJob(Quartz.IScheduler scheduler, List<Config> dellist) { IList<JobKey> jlist = new List<Quartz.JobKey>(); foreach (var it in dellist) { JobKey key = new JobKey(it.jobname, it.groupname); jlist.Add(key); } scheduler.DeleteJobs(jlist); }
public IJob NewJob(TriggerFiredBundle bundle, Quartz.IScheduler scheduler) { try { var x = this.Kernel.Get(bundle.JobDetail.JobType); return (IJob)x; } catch(Exception err) { this.EventReporter.ExceptionForObject(err, bundle.JobDetail); throw; } }
public void JobWasExecuted(Quartz.IJobExecutionContext context, Quartz.JobExecutionException jobException) { logger.Debug("UploadJob.Execution() 已经完成!!"); //if (context.JobDetail.JobDataMap.ContainsKey(Consts.DeviceLatestUpdateKey)) //{ // long msec = context.JobDetail.JobDataMap.GetLong(Consts.DeviceLatestUpdateKey); // updateMeters(msec); //} //else //{ // logger.DebugFormat("UploadJobListener.JobWasExecuted()没有找到KEY : {0}", Consts.DeviceLatestUpdateKey); //} }
void CheckIfScreenIsLocked() { Console.WriteLine($"Testing locked screen in 3 seconds..."); var t = new System.Windows.Forms.Timer(); t.Interval = 3000; t.Tick += (sender, e) => { t.Stop(); var locked = Quartz.IsScreenLocked(); Console.WriteLine($"IsScreenLocked:{locked}"); }; t.Start(); }
protected override DateTime BenchDate(Quartz.IJobExecutionContext context) { //every 5mins, figure out new create/updated products, promotions var dataMap = context.JobDetail.JobDataMap; var interval = dataMap.ContainsKey("interval") ? dataMap.GetInt("interval") : 5; if (!dataMap.ContainsKey("benchtime")) { dataMap.Put("benchtime", DateTime.Now.AddMinutes(-interval)); } else { dataMap["benchtime"] = dataMap.GetDateTimeValue("benchtime").AddMinutes(interval); } return dataMap.GetDateTime("benchtime"); }
public void Execute(Quartz.IJobExecutionContext context) { _logger.Info("Starting PurgeBuildJob.Execute"); try { bool doneList = false; int pageNumber = 1; while(!doneList) { var listOptions = new ListOptions { PageNumber = pageNumber, PageSize = 100, SortAscending = true, SortField = "UpdatedDateTimeUtc" }; var list = _buildManager.GetBuildList(listOptions); if (list.Items != null) { foreach(var build in list.Items) { try { _buildPurger.PurgeBuildIfNecessary(build); } catch(Exception err) { _logger.ErrorException(string.Format("Error purging build \"{0}\": {1}", build.DisplayValue, err.ToString()), err); } } } if(list.IsLastPage) { doneList = true; } else { pageNumber++; } } } catch(Exception err) { this._logger.ErrorException("PurgeBuildJob.Execute Failed: " + err.ToString(), err); } _logger.Info("Done PurgeBuildJob.Execute"); }
/// <summary> /// 新增 /// </summary> /// <param name="scheduler"></param> /// <param name="list"></param> public static void addjob(Quartz.IScheduler scheduler, List<Core.Config> list) { foreach (var item in list) { Assembly assembly = Assembly.Load(item.assemblyname); Type type = assembly.GetType(item.@namespace); IJobDetail job = JobBuilder.Create(type) .WithIdentity(item.jobname, item.groupname).Build(); // name "myJob", group "group1" var trigger = addTriger(item); scheduler.ScheduleJob(job, trigger.Build()); } }
public IJob NewJob(TriggerFiredBundle bundle, Quartz.IScheduler scheduler) { var jobDetail = bundle.JobDetail; var jobType = jobDetail.JobType; try { Log.Debug(string.Format("Creating job '{0}' of type {1}", jobDetail.Description, jobType.FullName)); return _container.Resolve(jobType) as IJob; } catch (Exception e) { Log.ErrorFormat("Failed to create job of type {0}, because {1}", jobType, e); throw new SchedulerException(string.Format("Problem creating job '{0}'", jobDetail.JobType.FullName), e); } }
public static string GetJobDataMapSitecoreString(Quartz.JobDataMap jobDataMap) { StringBuilder sbJobDataMap = new StringBuilder(); //Convert Quartz Job Data Map to .net string having each name value pair delimted & as represented by NameValueField in sitecore if (jobDataMap != null && jobDataMap.Count > 0) { IList<string> jobDataMapKeys = jobDataMap.GetKeys(); for (int i = 0; i < jobDataMapKeys.Count; i++) { sbJobDataMap.Append(jobDataMapKeys[i] + "=" + jobDataMap[(jobDataMapKeys[i])].ToString()); if (i < jobDataMapKeys.Count - 1) { sbJobDataMap.Append("&"); } } } return sbJobDataMap.ToString(); }
static string GetErrorText(int hr) { string _text = ""; int _length = 160; StringBuilder sb = new StringBuilder(_length); try { if (Quartz.AMGetErrorText(hr, sb, _length) > 0) { _text = sb.ToString(); } } catch { } return(_text); }
public void Execute(Quartz.IJobExecutionContext context) { if (context != null) { var behavior = context.MergedJobDataMap.Get("MotionBasedBehavior") as MotionBasedBehavior; var contextServer = context.MergedJobDataMap.Get("ContextServer") as string; if (behavior != null) { Log.Info(@"------------- Task Details --------------"); Log.InfoFormat(@"Behavior Name : {0}", behavior.Name); Log.InfoFormat(@"Human Id : {0}", behavior.Id); Log.InfoFormat(@"Trigger Name : {0}", behavior.Trigger); Log.InfoFormat(@"Confidence Level : {0}", behavior.ConfidenceLevel); Log.InfoFormat(@"Priority : {0}", behavior.Priority); Log.Info(@"-----------------------------------------"); SyncExecuteBehavior(contextServer, behavior); } } }
public static string GetErrorMessageForException(Exception ex, bool detailed) { string msg = (detailed) ? ex.ToString() : ex.Message; if (ex is COMException) { const int MAX_ERROR_TEXT_LEN = 255; // Make a buffer to hold the string StringBuilder sb = new StringBuilder(MAX_ERROR_TEXT_LEN, MAX_ERROR_TEXT_LEN); COMException cex = ex as COMException; if (Quartz.AMGetErrorText(cex.ErrorCode, sb, MAX_ERROR_TEXT_LEN) > 0) { msg = sb.ToString(); } } return(msg); }
public IJob NewJob(TriggerFiredBundle bundle, Quartz.IScheduler scheduler) { try { var genericType = typeof(AutofacJobWrapper<>); Type[] typeArgs = { bundle.JobDetail.JobType }; var actualType = genericType.MakeGenericType(typeArgs); var x = this.Context.Resolve(actualType); return (IJob)x; } catch(Exception err) { //using(var scope = this.Context.BeginLifetimeScope()) //{ // var reporter = scope.Resolve<IEventReporter>(); // reporter.ExceptionForObject(err, bundle.JobDetail); //} throw; } }
/// <summary> /// 修改 /// </summary> /// <param name="scheduler"></param> /// <param name="modilist"></param> public static void modiJob(Quartz.IScheduler scheduler, List<Config> modilist) { // scheduler.GetTrigger(new TriggerKey( foreach (var item in modilist) { //var old = scheduler.GetTrigger(new TriggerKey(item.jobname + "trigger", "触发器组")); //if (old == null) // return; //var newtrigger = addTriger(item).Build(); //scheduler.RescheduleJob(old.Key, newtrigger); JobKey key = new JobKey(item.jobname, item.groupname); scheduler.DeleteJob(key); addjob(scheduler, item); } }
void OnGUI() { // Draw the menu // Restart game if (GUI.Button(new Rect(10, 10, 100, 20), "Restart game")) { Application.LoadLevel(1); } // Quit the current game and get back to the start menu if (GUI.Button(new Rect(10, 40, 100, 20), "End game")) { if (state_ == States.ONGAMING) { foreach (GameObject a in GameObject.FindGameObjectsWithTag("quartz")) { Quartz quartz_script = a.GetComponent <Quartz>(); int level = quartz_script.GetLevel(); // Do NOT count the prefab if (level > 0) { Quartz.Colors color = quartz_script.GetColor(); points_ += LEVEL_POINTS[level]; got_quartz_ += "Level " + level + " " + color.ToString() + "\n"; Destroy(a); } } state_ = States.ENDED; } } if (GUI.Button(new Rect(10, 70, 100, 20), "Quit")) { Application.LoadLevel(0); } if (state_ == States.ENDED) { string table_head; GUI.TextArea( new Rect(200, 100, 500, 500), got_quartz_ + "\nYou've Got " + points_.ToString() + " points"); } }
public override void Execute(Quartz.IJobExecutionContext context) { Console.WriteLine("........."); }
protected abstract void ExecuteJob(Quartz.IJobExecutionContext context);
public void Execute(Quartz.IJobExecutionContext context) { ExecuteJob(context); }
public override void Update(Quartz.IScheduler scheduler) { this.Scheduler = scheduler; this.Calendars = scheduler.GetCalendarNames().Select(n => new { Name = n, Calendar = scheduler.GetCalendar(n) }).ToDictionary(n => n.Name, n => n.Calendar); this.NotifyOfPropertyChange(() => this.Calendars); }
public void Execute(Quartz.IJobExecutionContext context) { if (AutoUpdateData._isUploading) { logger.DebugFormat("***************************Previous job is In Upload. Please wait。。。 {0}", context.PreviousFireTimeUtc.Value.DateTime); AutoUpdateData.jobflag("P Please wait。。。revious job is In Upload:" + context.PreviousFireTimeUtc.Value.DateTime); return; } DataTable tblPicked; BssLineStock bssLineStock = new BssLineStock(); AutoUpdateData._isUploading = true; //get sql update mode //1-删除后再追加 2-直接更新 if (AutoUpdateData._updatemode.StartsWith("1")) { _is1 = true; } else if (AutoUpdateData._updatemode.StartsWith("2")) { _is1 = false; } else { _is1 = true; } logger.DebugFormat("执行更新任务!!!!!!!!!!!!!!!"); AutoUpdateData.jobflag("Is Runing, Next Exec Job Time:" + context.NextFireTimeUtc.Value.DateTime); try { var _tmpOracleDBname = AutoUpdateData._DBOracle11DBname; //init even tInitIniToday AutoUpdateData.tInitIniToday(DateTime.Now.ToString("yyyyMMdd")); //get if (AutoUpdateData._tableList.Count > 0) { logger.Debug("执行数据获取任务!!!!!!!!!!!!!!!"); var tmpBatch = AutoUpdateData._txt1batchNum; AutoUpdateData._dsList.Clear(); var tmpwhereFirst = getInSql(AutoUpdateData._CONTRACT, "CONTRACT", false); if (string.IsNullOrEmpty(tmpwhereFirst)) { return; } var tmpwhere = tmpwhereFirst; foreach (var item in AutoUpdateData._tableList) { try { //init attr _typeOfTable = "0"; _time_start = DateTime.Now.ToString(); _time_done = DateTime.Now.ToString(); _sql = "select * from "; tmpwhere = tmpwhereFirst; if (item.Key.Contains('|')) { var td = item.Key.Split('|'); var tmpTableTakeDataNum = ""; int preNum = 0; var allCount = 0; var tmpKeyname = td[0].Trim() + "_KEY"; var tmpKeyLast = td[0].Trim() + "." + td[1].Trim(); var tmpds = new DataSet(); //father and son var isSon = false; var tmpdsForFatherSon = new DataSet(); tmpds.DataSetName = td[0].Trim(); //test //if (item.Value != 3) //{ // continue; //} switch (item.Value) { case 1: //key: 0 table | where 1 | order by 2 | type 3 var tmpInsql = getInSql(AutoUpdateData._N_OBL_PART_TYPE, td[1].Trim(), true); if (string.IsNullOrEmpty(tmpInsql)) { continue; } else { tmpwhere += tmpInsql; } //pre update number tmpTableTakeDataNum = AutoUpdateData._iniToday.IniReadValue("TableTakeDataNum", td[0].Trim()); if (!int.TryParse(tmpTableTakeDataNum, out preNum)) { preNum = 0; } //get all count form oracle db allCount = OracleDal.GetCount(_tmpOracleDBname, td[0].Trim(), tmpwhere); logger.DebugFormat("*********Table: {0},已上传:{1} ,Oracle 现在有数据:{2}.当日:{3}", td[0], preNum, allCount, DateTime.Now.ToString("yyyyMMdd")); if (preNum >= allCount) { logger.DebugFormat("*********(已上传数) {0} >= {1} (Oracle 现在有数据),无需更新.", preNum, allCount); } else { var tmptoUpdate = (allCount - preNum); logger.DebugFormat("*********需更新数:{0}.", tmptoUpdate); var tmporderby = td[2].Trim(); if (td[2].Trim().ToLower().Equals("no")) { tmporderby = ""; } tmpds = OracleDal.GetData(_tmpOracleDBname, td[0].Trim(), tmpwhere, tmporderby, preNum, tmptoUpdate); } tmpds.DataSetName = td[0].Trim(); _typeOfTable = td[3].Trim(); break; case 2: //key: 0 table | add Id 1 | order by 2 | datefrom 3 | type 4 //get the last ID //get from SQL by id; //var tmpTRANSACTION_ID = AutoUpdateData._iniToday.IniReadValue("TableKeyLastValue", tmpKeyLast); var tmpTRANSACTION_ID = DbHelperSQL.GetDMaxID(td[1], td[0]); // get last where tmpwhere += " and " + td[1].Trim() + ">='" + tmpTRANSACTION_ID + "' "; //pre update number tmpTableTakeDataNum = AutoUpdateData._iniToday.IniReadValue("TableTakeDataNum", td[0].Trim()); if (!int.TryParse(tmpTableTakeDataNum, out preNum)) { preNum = 0; } //get all count form oracle db OracleParameter[] parameters2 = { new OracleParameter(":gxsj", OracleDbType.Varchar2, 10) }; parameters2[0].Value = DateTime.Now.AddDays(-3).ToString("yyyy-MM-dd") + " 00:00:00";// HH if (tmpTRANSACTION_ID == 1) { logger.DebugFormat("******************************{0} 初始更新,加限时间-3天。", td[0]); _time_start = DateTime.Now.AddDays(-3).ToString("yyyy-MM-dd") + " 00:00:00"; tmpwhere += " and " + td[3] + ">=to_date(:gxsj,'yyyy-MM-dd HH24:mi:ss')"; allCount = OracleDal.GetCount(_tmpOracleDBname, td[0].Trim(), tmpwhere, parameters2); } else { allCount = OracleDal.GetCount(_tmpOracleDBname, td[0].Trim(), tmpwhere); } logger.DebugFormat("*********Table: {0},已上传:{1} ,Oracle 现在有数据:{2}.当日:{3}", td[0], preNum, allCount, DateTime.Now.ToString("yyyyMMdd")); if (preNum >= allCount) { logger.DebugFormat("*********(已上传数) {0} >= {1} (Oracle 现在有数据),无需更新.", preNum, allCount); } else { var tmptoUpdate = (allCount - preNum); logger.DebugFormat("*********需更新数:{0}.", tmptoUpdate); var tmporderby = td[2].Trim(); if (td[2].Trim().ToLower().Equals("no")) { tmporderby = ""; } if (tmpTRANSACTION_ID == 1) { tmpds = OracleDal.GetData(_tmpOracleDBname, td[0].Trim(), tmpwhere, tmporderby, preNum, tmptoUpdate, parameters2); } else { tmpds = OracleDal.GetData(_tmpOracleDBname, td[0].Trim(), tmpwhere, tmporderby, preNum, tmptoUpdate); } } tmpds.DataSetName = td[0].Trim(); _typeOfTable = td[4].Trim(); _time_done = OracleDal.getMaxCol(tmpds, td[3]).ToString(); break; case 3: //key: 0 table|1 where|2 order by | type 3 //get per last datetime var tmpLastWhere = AutoUpdateData._iniToday.IniReadValue("TableKeyLastValue", tmpKeyLast); var tmpLastWhereDateTime = DateTime.Now; if (!DateTime.TryParse(tmpLastWhere, out tmpLastWhereDateTime)) { tmpLastWhereDateTime = DateTime.Now; AutoUpdateData._iniToday.IniWriteValue("TableKeyLastValue", tmpKeyLast, tmpLastWhereDateTime.ToString()); } tmpwhere += " and to_char(" + td[1] + ", 'yyyymmddHH24miss') >= :gxsj"; OracleParameter[] parameters3 = { new OracleParameter(":gxsj", OracleDbType.Varchar2, 10) }; //no time parameters3[0].Value = DateTime.Now.ToString("yyyyMMdd000000"); //for N_AIS_SHOP_LIST_PICKED_ACT_TAB var tmpnewDateTime =DateTime.Now.ToString("yyyyMMdd000000"); if (td[0].Trim().ToUpper().Equals("N_AIS_SHOP_LIST_PICKED_ACT_TAB".ToUpper())) { tmpnewDateTime = DbHelperSQL.GetTableFieldDateTime("AISPICK_UPD_DATE", "M_CONTOROL", " [KEY-ID]='01'"); parameters3[0].Value = tmpnewDateTime; logger.DebugFormat("**************{0},{1} change to new value:{2}.", td[0], td[1], tmpnewDateTime); } //pre update number tmpTableTakeDataNum = AutoUpdateData._iniToday.IniReadValue("TableTakeDataNum", td[0].Trim()); if (!int.TryParse(tmpTableTakeDataNum, out preNum)) { preNum = 0; } allCount = OracleDal.GetCount(_tmpOracleDBname, td[0].Trim(), tmpwhere, parameters3); logger.DebugFormat("*********Table: {0},已上传:{1} ,Oracle 现在有数据:{2}.当日:{3}", td[0], preNum, allCount, DateTime.Now.ToString("yyyyMMdd")); if (preNum >= allCount) { logger.DebugFormat("*********(已上传数) {0} >= {1} (Oracle 现在有数据),无需更新.", preNum, allCount); } else { var tmptoUpdate = (allCount - preNum); logger.DebugFormat("*********需更新数:{0}.", tmptoUpdate); var tmporderby = td[2].Trim(); if (td[2].Trim().ToLower().Equals("no")) { tmporderby = ""; } tmpds = OracleDal.GetData(_tmpOracleDBname, td[0].Trim(), tmpwhere, tmporderby, preNum, tmptoUpdate, parameters3); } tmpds.DataSetName = td[0].Trim(); _typeOfTable = td[3].Trim(); _time_done = OracleDal.getMaxCol(tmpds, td[1]).ToString(); #region new update 2015-12-02 if (tmpds.Tables.Count > 0 && td[0].Trim().ToUpper().Equals("N_AIS_SHOP_LIST_PICKED_ACT_TAB".ToUpper())) { logger.DebugFormat("*******开始更新{0}的相关表[M_PARTS_STOCK,M_LINE_PARTS_STOCK]", td[0].Trim()); //AIS配膳リストピッキング実績-> AIS配膳リストピッキング実績 tblPicked = tmpds.Tables[0];// bssLineStock.GetPickedActData(); //更新ライン在庫マス数据 if (bssLineStock.SetLinePartsStockData(tblPicked) <= 0) { //TODO: 更新失败 logger.ErrorFormat("******* {0} 的相关表[M_PARTS_STOCK,M_LINE_PARTS_STOCK] 更新失败", td[0].Trim()); } else { logger.DebugFormat("******* {0} 的相关表[M_PARTS_STOCK,M_LINE_PARTS_STOCK] 更新Success", td[0].Trim()); var tmpExist = DbHelperSQL.GetCount("M_CONTOROL", "[KEY-ID]='01'"); var tmpsql = ""; if (tmpExist > 0) { tmpsql = string.Format("UPDATE M_CONTOROL set [AISPICK_UPD_DATE]='{0}' where [KEY-ID]='01'", _time_done); } else { tmpsql = string.Format("INSERT INTO M_CONTOROL([KEY-ID],[AISPICK_UPD_DATE]) VALUES('{0}','{1}')", "01", _time_done); } var tmpdd = DbHelperSQL.ExecuteSql(tmpsql); if (tmpdd > 0) { logger.DebugFormat("*******Success M_CONTOROL 更新时间 AISPICK_UPD_DATE success", td[0].Trim()); } else { logger.DebugFormat("*******Error M_CONTOROL 更新时间 AISPICK_UPD_DATE Error", td[0].Trim()); } } } #endregion break; case 4: //key: P 0|where 1| order by 2 | C 3 | type 4 //get P:父,C: 子 根据P的Key得到C.的数据。 //get the last ID // set tmpwhere tmpwhere += " and " + td[1] + ">=to_date(:gxsj,'yyyy-MM-dd HH24:mi:ss')"; OracleParameter[] parameters4 = { new OracleParameter(":gxsj", OracleDbType.Varchar2, 10) }; //set time parameters4[0].Value = DateTime.Now.ToString("yyyy-MM-dd") + " 00:00:00";// HH logger.DebugFormat("****TESTFKG:{0},ORG_START_DATE:{1} 【0:の場合 PCの日付を抽出条件にする。1:の場合 環境ファイル内の日付(yyyy-mm-dd)を設定し、その日付を抽出条件にする】", AutoUpdateData._TESTFKG, AutoUpdateData._ORG_START_DATE); if (AutoUpdateData._TESTFKG.Equals("1")) { logger.DebugFormat("****使用配置文件中的日期。{0}", AutoUpdateData._ORG_START_DATE); parameters4[0].Value = AutoUpdateData._ORG_START_DATE + " 00:00:00";// HH } var trytmpDD = DateTime.Now; var chedkdate = DateTime.TryParse(parameters4[0].Value.ToString(), out trytmpDD); if (!chedkdate) { logger.DebugFormat("**配置文件提供ORG_START_DATE的值不符合要求(yyyy-MM-dd),value:{0}.则使用当天日期。", AutoUpdateData._ORG_START_DATE, DateTime.Now.ToString("yyyy-MM-dd")); logger.ErrorFormat("**配置文件提供ORG_START_DATE的值不符合要求(yyyy-MM-dd),value:{0}.则使用当天日期。", AutoUpdateData._ORG_START_DATE, DateTime.Now.ToString("yyyy-MM-dd")); parameters4[0].Value = DateTime.Now.ToString("yyyy-MM-dd") + " 00:00:00";// HH } // parameters4[0].Value = tmpORG_START_DATE.ToString("yyyy-MM-dd") + " 00:00:00";// HH //pre update number tmpTableTakeDataNum = AutoUpdateData._iniToday.IniReadValue("TableTakeDataNum", td[0].Trim()); if (!int.TryParse(tmpTableTakeDataNum, out preNum)) { preNum = 0; } //get all count form oracle db allCount = OracleDal.GetCount(_tmpOracleDBname, td[0].Trim(), tmpwhere, parameters4); logger.DebugFormat("*********Table: {0},已上传:{1} ,Oracle 现在有数据:{2}.>=条件日期:{3}", td[0], preNum, allCount, trytmpDD.ToString("yyyy-MM-dd")); if (preNum >= allCount) { logger.DebugFormat("*********(已上传数) {0} >= {1} (Oracle 现在有数据),无需更新.", preNum, allCount); } else { var tmptoUpdate = (allCount - preNum); logger.DebugFormat("*********需更新数:{0}.", tmptoUpdate); var tmporderby = td[2].Trim(); if (td[2].Trim().ToLower().Equals("no")) { tmporderby = ""; } tmpds = OracleDal.GetData(_tmpOracleDBname, td[0].Trim(), tmpwhere, tmporderby, preNum, tmptoUpdate, parameters4); } tmpds.DataSetName = td[0].Trim(); //to Get C if (!AutoUpdateData._tableKeyList.ContainsKey(tmpKeyname)) { isSon = false; logger.DebugFormat("*************************表:{0} 没有设置主键,无法更新子表:{1}。", td[0], td[3]); } else { //var tmpkeyValue = AutoUpdateData._tableKeyList[tmpKeyname]; //var tmpkeys = tmpkeyValue.Split(','); //logger.DebugFormat("*************************表:{0} 的主键:{1}。", td[0], tmpkeyValue); isSon = true; } tmpds.DataSetName = td[0].Trim(); _typeOfTable = td[4].Trim(); _time_done = OracleDal.getMaxCol(tmpds, td[1]).ToString(); break; default: tmpds.DataSetName = td[0].Trim(); if (td[0].IndexOf('.') > 0) { tmpds.DataSetName = td[0].Trim().Split('.')[1]; } break; } _sql += td[0].Trim() + " where " + tmpwhere; //**************************同步表 OracleDal.StartToMSSQL(_is1, false, tmpds, tmpKeyLast); //for father and son if (isSon) { var tmpallSonCount = 0; if (tmpds.Tables.Count > 0) { var tmpkeyValue = AutoUpdateData._tableKeyList[tmpKeyname]; var tmpkeys = tmpkeyValue.Split(','); if (tmpkeys.Count() <= 0) { logger.DebugFormat("*************************表:{0} 的主键 为空:{1}。", td[0], tmpkeyValue); } else { logger.DebugFormat("*************************表:{0} 的主键:{1}。", td[0], tmpkeyValue); logger.DebugFormat("*************************开始更新表:{0},子表:{1}。", td[0], td[3]); string sonTmpsonwhereAll = ""; foreach (DataRow p in tmpds.Tables[0].Rows) { string sonTmpsonwhere = ""; try { var tmpsonwhere = ""; tmpsonwhere = "SELECT * FROM " + td[3].Trim() + " where "; if (!string.IsNullOrEmpty(_tmpOracleDBname)) { tmpsonwhere = "SELECT * FROM " + _tmpOracleDBname + "." + td[3].Trim() + " where "; } if (tmpkeys.Count() > 0) { if (tmpkeys.Count() == 1) { tmpsonwhere += tmpkeys[0] + "='" + p[tmpkeys[0]].ToString().Trim() + "'"; } else { for (int i = 0; i < tmpkeys.Count(); i++) { if (i == 0) { tmpsonwhere += tmpkeys[0] + "='" + p[tmpkeys[0]].ToString().Trim() + "'"; } else { tmpsonwhere += " and " + tmpkeys[i] + "='" + p[tmpkeys[i]].ToString().Trim() + "'"; } } } } // sonTmpsonwhere = tmpsonwhere; sonTmpsonwhereAll += sonTmpsonwhere + "\n"; //get data var tmpSon = OracleDal.Query(tmpsonwhere); tmpSon.DataSetName = td[3].Trim(); //**************************同步子表 tmpallSonCount += OracleDal.StartToMSSQL(_is1, true, tmpSon, ""); } catch (Exception ex) { logger.ErrorFormat("****************************更新主表:{0},记录:{1} -->的子表失败。{2}", td[0], (p[0].ToString() + "," + p[1].ToString() + "," + p[2].ToString()), ex.Message); //OracleDal.ilog(td[3].Trim(), allCount, AutoUpdateData._CONTRACT + ",Fail," + AutoUpdateData._updatemode, "AutoUpdateOracleMSSQL: SQL:" + sonTmpsonwhere + " Fail. Error:" + ex.Message, AutoUpdateData._ipAddMac); OracleDal.ilog("error", updateJob._typeOfTable, updateJob._time_start, updateJob._time_done, sonTmpsonwhere, allCount, AutoUpdateData._ipAddMac, AutoUpdateData._CONTRACT + "|" + AutoUpdateData._updatemode); continue; } } //OracleDal.ilog(td[3].Trim(), tmpallSonCount, AutoUpdateData._CONTRACT + ",Success," + AutoUpdateData._updatemode, "AutoUpdateOracleMSSQL:Update Count:" + tmpallSonCount + " Success.", AutoUpdateData._ipAddMac); OracleDal.ilog("success", updateJob._typeOfTable, updateJob._time_start, updateJob._time_done, sonTmpsonwhereAll, tmpallSonCount, AutoUpdateData._ipAddMac, AutoUpdateData._CONTRACT + "|" + AutoUpdateData._updatemode); } } else { logger.DebugFormat("*************************表:{0} 的数据 为空。", td[0]); } } } else { var tmpTableTakeDataNum = AutoUpdateData._iniToday.IniReadValue("TableTakeDataNum", item.Key.Trim()); int preNum = 0; if (!int.TryParse(tmpTableTakeDataNum, out preNum)) { preNum = 0; } var allCount = OracleDal.GetCount(_tmpOracleDBname, item.Key, ""); logger.DebugFormat("*********Table: {0},已上传:{1} ,Oracle 现在有数据:{2}.", item.Key, preNum, allCount); if (preNum >= allCount) { logger.DebugFormat("*********(已上传数) {0} >= {1} (Oracle 现在有数据),无需更新.", preNum, allCount); } else { var tmptoUpdate = (allCount - preNum); logger.DebugFormat("*********需更新数:{0}", tmptoUpdate); var tmpds = OracleDal.GetData(_tmpOracleDBname, item.Key, "", "", preNum, tmptoUpdate); tmpds.DataSetName = item.Key; OracleDal.StartToMSSQL(_is1, false, tmpds, ""); } } } catch (Exception ex) { AutoUpdateData.jobflag("Error:" + ex.Message); logger.ErrorFormat("{0}表同步有问题,开始同步下个表。Error:{1}.", item.Key, ex.Message); continue; } } } else { logger.Error("no Table,Please check Set.ini,and add Table."); } } catch (Exception ex) { AutoUpdateData.jobflag("Error:" + ex.Message); logger.Error(ex); } finally { AutoUpdateData._isUploading = false; } AutoUpdateData.jobflag("Notice: Current Job is Run Over, Next Exec Job Time:" + context.NextFireTimeUtc.Value.DateTime); }
IEnumerator OnCheckQuartz(GameObject quartz) { if (first_quartz_ == null) { first_quartz_ = quartz; first_quartz_.SendMessage("Toggle"); } else if (second_quartz_ == null) { second_quartz_ = quartz; second_quartz_.SendMessage("Toggle"); Quartz first_quartz_script = first_quartz_.GetComponent <Quartz>(); Quartz second_quartz_script = second_quartz_.GetComponent <Quartz>(); int first_quartz_level = first_quartz_script.GetLevel(); int second_quartz_level = second_quartz_script.GetLevel(); if (first_quartz_level != second_quartz_level) { // level doesn't match, destory the two quartz Destroy(first_quartz_); Destroy(second_quartz_); } else { // TODO: use animation to replace the wait yield return(new WaitForSeconds(0.5f)); Vector3 new_position = first_quartz_.transform.position; Quartz.Colors first_color = first_quartz_script.GetColor(); Quartz.Colors second_color = second_quartz_script.GetColor(); int new_level = first_quartz_level; Destroy(first_quartz_); Destroy(second_quartz_); first_quartz_ = null; second_quartz_ = null; Quartz new_quartz_script = ((GameObject)Instantiate( quartz_prefab_, new_position, Quaternion.identity)).GetComponent <Quartz>(); if (first_color == second_color) { new_quartz_script.SetColor(first_color); new_quartz_script.SetLevel(new_level + 1); } else if (first_color != Quartz.Colors.BLUE && second_color != Quartz.Colors.BLUE) { new_quartz_script.SetColor(Quartz.Colors.BLUE); new_quartz_script.SetLevel(new_level); } else if (first_color != Quartz.Colors.YELLOW && second_color != Quartz.Colors.YELLOW) { new_quartz_script.SetColor(Quartz.Colors.YELLOW); new_quartz_script.SetLevel(new_level); } else if (first_color != Quartz.Colors.RED && second_color != Quartz.Colors.RED) { new_quartz_script.SetColor(Quartz.Colors.RED); new_quartz_script.SetLevel(new_level); } new_quartz_script.Toggle(); // TODO: use animation to replace the wait yield return(new WaitForSeconds(0.5f)); new_quartz_script.Toggle(); } } else { print("You shoud not open a box with two boxes already opened"); } }
public void ScheduleJob(IJobDetail jobDetail, Quartz.Collection.ISet<ITrigger> triggersForJob, bool replace) { _scheduler.ScheduleJob(jobDetail, triggersForJob, replace); }
public static void Execute(Quartz.IJobExecutionContext context) { }
public SchedulerWrapper(Quartz.IScheduler quartzScheduler) { _quartzScheduler = quartzScheduler; }
public MagicQuartz() { Quartz = new ushort[7]; }