private void Start(object parameter) { if (string.IsNullOrEmpty(TaskBackUpPath)) { MessageBoxHelper.MessageBoxShowWarning("请配置保存文件的路径!"); return; } if (TaskBackUpPath.ToLower().StartsWith("c:")) { if (MessageBoxHelper.MessageBoxShowQuestion("请确认是否将备份文件保存的C盘?") == MessageBoxResult.No) { return; } } foreach (var policy in Policys) { string cron = ConvertToCron(policy); if (policy.BackUpType == BackUpType.DataBase) { ConfigHelper.WriterAppConfig("DataBaseBackUpJob", cron); var triggerKey = scheduler.GetTriggerKeys(GroupMatcher <TriggerKey> .GroupEquals("scheduler")).Where(x => x.Name == "DataBaseBackUpJob").FirstOrDefault(); if (triggerKey != null) { scheduler.UnscheduleJob(triggerKey); } var job = JobBuilder.Create(typeof(DataBaseBackUpJob)) .WithIdentity("DataBaseBackUpJob", "scheduler").Build(); var trigger = TriggerBuilder.Create() .StartNow() .WithIdentity("DataBaseBackUpJob", "scheduler") .WithCronSchedule(cron) .Build(); scheduler.ScheduleJob(job, trigger); } else { ConfigHelper.WriterAppConfig("TablesBackUpJob", cron); var triggerKey = scheduler.GetTriggerKeys(GroupMatcher <TriggerKey> .GroupEquals("scheduler")).Where(x => x.Name == "TablesBackUpJob").FirstOrDefault(); if (triggerKey != null) { scheduler.UnscheduleJob(triggerKey); } var job = JobBuilder.Create(typeof(TablesBackUpJob)) .WithIdentity("TablesBackUpJob").Build(); var trigger = TriggerBuilder.Create() .StartNow() .WithIdentity("TablesBackUpJob", "scheduler") .WithCronSchedule(cron) .Build(); scheduler.ScheduleJob(job, trigger); } } Notice.Show("定时任务已经启动....", "通知", 3, MessageBoxIcon.Success); }
private void ManualExecute(object parameter) { if (string.IsNullOrEmpty(TaskBackUpPath)) { MessageBoxHelper.MessageBoxShowWarning("请配置文件的路径!"); return; } if (!(CurrentPolicy.IsTaskBackUpDataBase || CurrentPolicy.IsTaskBackUpTables)) { MessageBoxHelper.MessageBoxShowWarning("请选择备份类型!"); return; } if (TaskBackUpPath.ToLower().StartsWith("c:")) { if (MessageBoxHelper.MessageBoxShowQuestion("请确认是否将备份文件保存的C盘?") == MessageBoxResult.No) { return; } } ExecuteBackUp executeBackUp = new ExecuteBackUp(); if (CurrentPolicy.BackUpType == BackUpType.DataBase) { Task.Factory.StartNew(() => { executeBackUp.BackUpDataBase(); }); } else { Task.Factory.StartNew(() => { executeBackUp.BackUpTables(); }); } }
private void ManualExecute(object parameter) { if (string.IsNullOrEmpty(TaskBackUpPath)) { MessageBoxHelper.MessageBoxShowWarning("请配置文件的路径!"); return; } if (!(CurrentPolicy.IsTaskBackUpDataBase || CurrentPolicy.IsTaskBackUpTables)) { MessageBoxHelper.MessageBoxShowWarning("请选择备份类型!"); return; } if (TaskBackUpPath.ToLower().StartsWith("c:")) { if (MessageBoxHelper.MessageBoxShowQuestion("请确认是否将备份文件保存的C盘?") == MessageBoxResult.No) { return; } } if (CurrentPolicy.IsTaskBackUpDataBase) { var policy = Policys.Where(x => x.BackUpType == BackUpType.DataBase && x.DataBaseName == CurrentPolicy.DataBaseName).FirstOrDefault(); if (policy != null) { ExecuteBackUp executeBackUp = new ExecuteBackUp(); string dbName = policy.DataBaseName; Task.Factory.StartNew(() => { executeBackUp.BackUpDataBase(dbName); }); } else { MessageBoxHelper.MessageBoxShowWarning("未配置全库备份类型的策略,请确认!"); return; } } if (CurrentPolicy.IsTaskBackUpTables) { var policy = Policys.Where(x => x.BackUpType == BackUpType.Tables && x.DataBaseName == CurrentPolicy.DataBaseName).FirstOrDefault(); if (policy != null) { ExecuteBackUp executeBackUp = new ExecuteBackUp(); string dbName = policy.DataBaseName; Task.Factory.StartNew(() => { executeBackUp.BackUpTables(dbName); }); } else { MessageBoxHelper.MessageBoxShowWarning("未配置基础业务备份类型的策略,请确认!"); return; } } }