protected void Page_Load(object sender, EventArgs e) { if (!String.IsNullOrEmpty(Request["ScheduledTaskId"])) { scheduledTaskId = Convert.ToInt32(Request["ScheduledTaskId"]); } //txtLastRunStatus.Enabled = false; if (!IsPostBack) { if (scheduledTaskId > 0) { schedulerManager = new SchedulerManager(this); scheduledTask = schedulerManager.GetScheduleTask(scheduledTaskId); txtName.Text = scheduledTask.Name; ucPeriodDate.DateTime = scheduledTask.StartTime; ucCurrFieldTxtPeriod.CurrencyValue = scheduledTask.Period; chkEnabled.Checked = scheduledTask.Enabled; txtTypeFullName.Text = scheduledTask.TypeFullName; txtLastRunStatus.Value = scheduledTask.LastRunStatus; } } }
public void CommitExportJob(ExportJobLite job, string scheduleValues, string scheduleFequency, bool repeating, bool disabled) { try { var j = SchedulerManager.GetJobById(job.Id); if (j == null) { var ej = job.ToInFuseExportJob(null); SchedulerManager.AddJob(JobTypeEnum.InFuseExportJob, JsonConvert.SerializeObject(ej), scheduleValues, scheduleFequency, repeating, disabled); //SchedulerManager.AddJob(JobTypeEnum.ExportJob, JsonConvert.SerializeObject(job.ToExportJob(null)), scheduleValues, scheduleFequency, repeating, disabled); } else { var ej = job.ToInFuseExportJob(job.Id); SchedulerManager.AddJob(JobTypeEnum.InFuseExportJob, JsonConvert.SerializeObject(ej), scheduleValues, scheduleFequency, repeating, disabled); } } catch (Exception e) { Logger.Info($"Errors saving Export Job {e.Message} - {e.StackTrace}"); if (e.InnerException != null) { Logger.Info($"Errors saving Export Job INNER exception {e.InnerException.Message} - {e.InnerException.StackTrace}"); } throw; } }
public UrlFinderPipeline(UrlFinderOptons options) : base(options) { if (Options.Scheduler == null) { Options.Scheduler = SchedulerManager.GetSiteScheduler(nameof(UrlFinderPipeline)); } }
public static void Init() { Log.Info("-----------------Begin Init()-----------------"); AppDomain.CurrentDomain.UnhandledException += (e, d) => Log.Error($"{(d.ExceptionObject as Exception).Message} {Environment.NewLine} {(d.ExceptionObject as Exception).StackTrace}", "UnhandledException"); if (Current != null) { Current.DispatcherUnhandledException += (e, d) => Log.Error($"{d?.Exception?.Message} {Environment.NewLine} {d?.Exception?.StackTrace}", "UnhandledException"); } Log.Info("Program version:" + ProgramUpdater.CurrentProgramVersion.ToString()); Container.BuildDefault(); CheckPlugin(); DownloadManager.Init(); SchedulerManager.Init(); TagManager.InitTagManager(); ImageResourceManager.InitImageResourceManager(); Log.Info("-----------------End Init()-----------------"); }
protected void btnSave_Click(object sender, EventArgs e) { var original_scheduledTask = new InfoControl.Web.ScheduledTasks.ScheduledTask(); schedulerManager = new SchedulerManager(this); scheduledTask = new InfoControl.Web.ScheduledTasks.ScheduledTask(); if (scheduledTaskId > 0) { original_scheduledTask = schedulerManager.GetScheduleTask(scheduledTaskId); scheduledTask = original_scheduledTask.Duplicate(); } scheduledTask.Name = txtName.Text; scheduledTask.Period = ucCurrFieldTxtPeriod.IntValue; scheduledTask.Enabled = chkEnabled.Checked; scheduledTask.TypeFullName = txtTypeFullName.Text; if (ucPeriodDate.DateTime != null) scheduledTask.StartTime = Convert.ToDateTime(ucPeriodDate.DateTime); schedulerManager.SaveScheduleTask(scheduledTask); Server.Transfer("ScheduleTasks.aspx"); }
protected void btnSave_Click(object sender, EventArgs e) { var original_scheduledTask = new InfoControl.Web.ScheduledTasks.ScheduledTask(); schedulerManager = new SchedulerManager(this); scheduledTask = new InfoControl.Web.ScheduledTasks.ScheduledTask(); if (scheduledTaskId > 0) { original_scheduledTask = schedulerManager.GetScheduleTask(scheduledTaskId); scheduledTask = original_scheduledTask.Duplicate(); } scheduledTask.Name = txtName.Text; scheduledTask.Period = ucCurrFieldTxtPeriod.IntValue; scheduledTask.Enabled = chkEnabled.Checked; scheduledTask.TypeFullName = txtTypeFullName.Text; if (ucPeriodDate.DateTime != null) { scheduledTask.StartTime = Convert.ToDateTime(ucPeriodDate.DateTime); } schedulerManager.SaveScheduleTask(scheduledTask); Server.Transfer("ScheduleTasks.aspx"); }
private void BindUserPanel() { DateTime fromDate = SchedulerManager.GetScheduleFromDate(WebScheduleInfo1); DateTime toDate = SchedulerManager.GetScheduleEndDate(WebDayView1); // bind user names to schedule bindResources(); bindTasks(fromDate, toDate); List <LeadTask> appointments = null; // active resouce int userID = Convert.ToInt32(ActiveResourceKey); // get taks and show in scheduler as appointment Expression <Func <CRM.Data.Entities.Task, bool> > predicate = PredicateBuilder.True <CRM.Data.Entities.Task>(); // load events only predicate = predicate.And(LeadTask => LeadTask.TaskType == 2); predicate = predicate.And(LeadTask => LeadTask.start_date >= fromDate && LeadTask.end_date <= toDate); predicate = predicate.And(LeadTask => LeadTask.owner_id == userID); appointments = TasksManager.GetLeadTask(predicate, fromDate, toDate); SchedulerManager.BindAppointment(WebScheduleInfo1, appointments); }
private void btClean_Click() { try{ var activesheet = (Excel.Worksheet)_excelapp.ActiveSheet; if (!_parser.checkTablePresent(activesheet)) { return; } using (var lForm = new FrmDelete(_excelapp.Hwnd)) { lForm.Reports = _parser.GetReportsList(activesheet.ListObjects[1]); lForm.AssociatedInstance = _settings.GetWorksheetParam("DelInstance", "SPECIFIED"); if (lForm.ShowDialog() != DialogResult.OK) { return; } var reports = _parser.ParseListObjectToReports(activesheet.ListObjects[1], true); _settings.SetWorksheetParam("DelInstance", lForm.AssociatedInstance); var scheduler = new SchedulerManager(_session); var runner = new FrmRunner(_session.Logger, scheduler.Cancel); var exitcode = runner.Execute(() => scheduler.DeleteReportsInstance(ref reports, lForm.AssociatedInstance) ); if (exitcode == ExitCode.FAILED || exitcode == ExitCode.CANCELED) { return; } _parser.UpdateListObjectStatus(activesheet.ListObjects[1], reports); } } catch (Exception ex) { new BusinessObjectsUtils.FrmException(_excelapp.Hwnd, ex).ShowDialog(); } }
protected override void OnStart(string[] args) { try { //0 0 12 * * ? 每天12点触发 //0 15 10 ? * * 每天10点15分触发 //0 15 10 * * ? 每天10点15分触发 //0 15 10 * * ? * 每天10点15分触发 //0 15 10 * * ? 2005 2005年每天10点15分触发 //0 * 14 * * ? 每天下午的 2点到2点59分每分触发 //0 0/5 14 * * ? 每天下午的 2点到2点59分(整点开始,每隔5分触发) //0 0/5 14,18 * * ? 每天下午的 2点到2点59分(整点开始,每隔5分触发) //每天下午的 18点到18点59分(整点开始,每隔5分触发) //0 0-5 14 * * ? 每天下午的 2点到2点05分每分触发 //0 10,44 14 ? 3 WED 3月分每周三下午的 2点10分和2点44分触发 //0 15 10 ? * MON-FRI 从周一到周五每天上午的10点15分触发 //0 15 10 15 * ? 每月15号上午10点15分触发 //0 15 10 L * ? 每月最后一天的10点15分触发 //0 15 10 ? * 6L 每月最后一周的星期五的10点15分触发 //0 15 10 ? * 6L 2002-2005 从2002年到2005年每月最后一周的星期五的10点15分触发 //0 15 10 ? * 6#3 每月的第三周的星期五开始触发 //0 0 12 1/5 * ? 每月的第一个中午开始每隔5天触发一次 //0 11 11 11 11 ? 每年的11月11号 11点11分触发(光棍节) //发邮件工作任务 JobDetail m_TimingMailJobDetail1 = new JobDetail("打印测试文件", Guid.NewGuid().ToString("N"), typeof(RegularMailJob.RegularMail_T2)); JobDetail m_TimingMailJobDetail2 = new JobDetail("打印测试文件", Guid.NewGuid().ToString("N"), typeof(RegularMailJob.RegularMail_T2)); JobDetail m_TimingMailJobDetail3 = new JobDetail("打印测试文件", Guid.NewGuid().ToString("N"), typeof(RegularMailJob.RegularMail_T2)); //Trigger m_TimingMailTrigger = new SimpleTrigger(Guid.NewGuid().ToString("N"), Guid.NewGuid().ToString("N"), m_TimingMailJobDetail.Name, m_TimingMailJobDetail.Group, DateTime.UtcNow, null, 0, TimeSpan.FromDays(7)); //CronTrigger trigger = new CronTrigger("打印", "group1", "0/30 * * * * ?"); //从周一到周五每天上午的10点15分触发 CronTrigger trigger1 = new CronTrigger("打印1", "group1", "0 20 15 ? * MON-FRI"); CronTrigger trigger2 = new CronTrigger("打印2", "group2", "0 25 15 ? * MON-FRI"); CronTrigger trigger3 = new CronTrigger("打印3", "group3", "0 15 15 ? * MON-FRI"); SchedulerManager.GetScheduler().ScheduleJob(m_TimingMailJobDetail1, trigger1); log.Info("任务:" + m_TimingMailJobDetail1.FullName + " 已经调度成功!"); SchedulerManager.GetScheduler().ScheduleJob(m_TimingMailJobDetail2, trigger2); log.Info("任务:" + m_TimingMailJobDetail2.FullName + " 已经调度成功!"); SchedulerManager.GetScheduler().ScheduleJob(m_TimingMailJobDetail3, trigger3); log.Info("任务:" + m_TimingMailJobDetail3.FullName + " 已经调度成功!"); SchedulerManager.GetScheduler().Start(); log.Info("service started ok"); } catch (Exception ex) { log.Error("service started fail", ex); this.Stop(); } }
public static void Main(string[] args) { Console.WriteLine("Test"); var schedule = new SchedulerManager(1, 500); schedule.Schedule(new TestJob(1)).AddTime(TimeSpan.FromSeconds(1)).Repeat().Build(); schedule.Schedule(new TestJob(2)).AddTime(TimeSpan.FromSeconds(2)).Repeat().Build(); }
public void ExecuteExportJob(string name) { //var eJobs = HttpContext.Application["FluentRegistry"] as FluentRegistry; // eJobs?.ExportJobs?.FirstOrDefault(n => n.Name == name)?.Execute(); //((FluentRegistry)HttpContext.Application["FluentRegistry"]).ExportJobs.FirstOrDefault(n => n.Name == name)?.Execute(AppUserState.UserName); SchedulerManager.ExecuteJobByName(name, AppUserState.UserName); //SchedulerManager.Jobs.FirstOrDefault(n => n.Name == name)?.Execute(AppUserState.UserName); }
public void TestAddJobNoEventSubscription() { var jobMock = new Mock <IJob>(); var schedulerManager = new SchedulerManager(null); Assert.False(schedulerManager.AddJob(jobMock.Object)); }
public Trigger GetTrigger() { //TODO:先判断触发器\组名是不是重复 if (SchedulerManager.GetScheduler() != null) { foreach (string groupName in SchedulerManager.GetScheduler().TriggerGroupNames) { if (groupName == txtTriggerGroup.Text) { foreach (string triggerName in SchedulerManager.GetScheduler().GetTriggerNames(groupName)) { if (triggerName == txtTriggerName.Text) { MessageBox.Show("触发器组名、触发器名不能同时重复,请修改"); tabControl.SelectedTab = tabPageSelection; return(null); } } } } } switch (tabControl.SelectedIndex) { //现有触发器 case 1: return(GetTriggerAvailable()); //每天 default: case 2: return(GetTriggerEveryDay()); //每周 case 3: return(GetTriggerEveryWeek()); //每月 case 4: return(GetTriggerEveryMonth()); //每年 case 5: return(GetTriggerEveryYear()); //农历 case 6: return(GetTriggerTraditionalHoliday()); //国际节假日 case 7: return(GetTriggerInterHoliday()); //高级 case 8: return(GetTriggerAdvance()); } }
public PartialViewResult GetHistoryPartialViewResult(Guid id) { //var jobs = ((FluentRegistry)HttpContext.Application["FluentRegistry"]).ExportJobs; var returnjob = SchedulerManager.GetJobById(id); // jobs.FirstOrDefault(n => n.Id == id) ?? new ExportJob(); var hvm = new HistoryViewModel { History = new List <FluentJobExecutionHistory>(returnjob.History.OrderBy(d => d.StartDateTime)) }; return(PartialView("_History", hvm)); }
internal static void Term() { Log.Info("-----------------Begin Term()-----------------"); PluginsTerm(); DownloadManager.Close(); SettingManager.SaveSettingFile(); SchedulerManager.Term(); Log.Term(); Log.Info("-----------------End Term()-----------------"); }
public InjectionManager(MainFrm main) { MainUI = main; PrimitiveMngr = new PrimitiveManager(main); SchedulerMngr = new SchedulerManager(main); ConstructerMngr = new ConstructerManager(main); MainUI.ITSendToClientBtn.Click += ITSendToClientBtn_Click; MainUI.ITSendToServerBtn.Click += ITSendToServerBtn_Click; }
public void bindEvents() { int clientID = SessionHelper.getClientId(); int DaysinMonth = 0; DateTime fromDate = DateTime.Now; DateTime toDate = DateTime.Now; CRM.Data.Entities.SecUser user = null; int userID = SessionHelper.getUserId(); user = SecUserManager.GetById(userID); if (user != null) { if (WebDayView1.Visible) { fromDate = SchedulerManager.GetScheduleFromDate(WebScheduleInfo1); toDate = SchedulerManager.GetScheduleEndDate(WebDayView1); } else if (WebMonthView1.Visible) { fromDate = new DateTime(DateTime.Now.Year, DateTime.Now.Month, 1); DaysinMonth = DateTime.DaysInMonth(DateTime.Now.Year, DateTime.Now.Month); toDate = fromDate.AddMonths(1).AddTicks(-1); } List <LeadTask> appointments = null; // get events from all users and show on scheduler Expression <Func <Task, bool> > predicate = PredicateBuilder.True <CRM.Data.Entities.Task>(); predicate = predicate.And(LeadTask => LeadTask.creator_id == clientID); predicate = predicate.And(LeadTask => LeadTask.TaskType == 2); predicate = predicate.And(LeadTask => LeadTask.owner_id == userID); predicate = predicate.And(LeadTask => LeadTask.start_date >= fromDate && LeadTask.start_date <= toDate); appointments = TasksManager.GetEvents(predicate); Resource resource = new Resource(); resource.DataKey = userID.ToString(); resource.Name = user.FirstName + " " + user.LastName; WebScheduleInfo1.Activities.Clear(); WebScheduleInfo1.VisibleResources.Clear(); WebScheduleInfo1.VisibleResources.Add(resource); SchedulerManager.BindAppointment(WebScheduleInfo1, appointments); } }
public ActionResult UpdateScheduleItem(ScheduleDto scheduleDto) { ActionResult ActionResult = new ActionResult(); dynamic Result = new ExpandoObject(); try { if (scheduleDto.RetryTimeLapse == 0) { scheduleDto.RetryTimeLapse = Null.NullInteger; } if (!SchedulerManager.VerifyValidTimeLapseRetry(scheduleDto.TimeLapse, scheduleDto.TimeLapseMeasurement, scheduleDto.RetryTimeLapse, scheduleDto.RetryTimeLapseMeasurement)) { ActionResult.AddError("InvalidFrequencyAndRetry", Localization.GetString("InvalidFrequencyAndRetry", Components.Constants.TaskSchedulerResourcesFile)); } else { ScheduleItem existingItem = SchedulingProvider.Instance().GetSchedule(scheduleDto.ScheduleID); ScheduleItem updatedItem = _controller.CreateScheduleItem(scheduleDto.TypeFullName, scheduleDto.FriendlyName, scheduleDto.TimeLapse, scheduleDto.TimeLapseMeasurement, scheduleDto.RetryTimeLapse, scheduleDto.RetryTimeLapseMeasurement, scheduleDto.RetainHistoryNum, scheduleDto.AttachToEvent, scheduleDto.CatchUpEnabled, scheduleDto.Enabled, scheduleDto.ObjectDependencies, scheduleDto.ScheduleStartDate, scheduleDto.Servers); updatedItem.ScheduleID = scheduleDto.ScheduleID; if (updatedItem.ScheduleStartDate != existingItem.ScheduleStartDate || updatedItem.Enabled || updatedItem.Enabled != existingItem.Enabled || updatedItem.TimeLapse != existingItem.TimeLapse || updatedItem.RetryTimeLapse != existingItem.RetryTimeLapse || updatedItem.RetryTimeLapseMeasurement != existingItem.RetryTimeLapseMeasurement || updatedItem.TimeLapseMeasurement != existingItem.TimeLapseMeasurement) { SchedulingProvider.Instance().UpdateSchedule(updatedItem); ActionResult.Message = Localization.GetString("ScheduleItemUpdateSuccess", Components.Constants.TaskSchedulerResourcesFile); } else { ActionResult.Message = Localization.GetString("ScheduleItemUpdateSuccess", Components.Constants.TaskSchedulerResourcesFile); SchedulingProvider.Instance().UpdateScheduleWithoutExecution(updatedItem); } Result.Status = "Success"; Result.ScheduleItems = SchedulerManager.GetScheduleItems(0, 14); ActionResult.Data = Result; } } catch (Exception exc) { Exceptions.LogException(exc); Result.Status = exc.Message.ToString(); ActionResult.AddError("ScheduleItemUpdateError", Localization.GetString("ScheduleItemUpdateError", Components.Constants.TaskSchedulerResourcesFile)); } return(ActionResult); }
/// <summary> /// 应用程序的主入口点。 /// </summary> static void Main(string[] args) { // new Generatesd11x5LotteryIssue().Generate(DateTime.Now); /*windows service*/ /* * ServiceBase[] ServicesToRun; * ServicesToRun = new ServiceBase[] * { * new YtgSchedulerService() * }; * ServiceBase.Run(ServicesToRun); */ // new GrnerateFc3dLotteryIssue().Generate(); /************* * 开发中多次修改数据实体和数据库结构 * 加入该句代码可自动同步实体与数据库版本 * 实际发布中将注释该代码 * ************/ /* * Ytg.Scheduler.Comm.Bets.Calculate.Ssc.RenXuanEr.RenXuanZuXuanDanShi bz = new Comm.Bets.Calculate.Ssc.RenXuanEr.RenXuanZuXuanDanShi(); * * var detail = new BetDetail(); * detail.PalyRadioCode = 1547; * detail.IssueCode = "1001"; * detail.BetContent = bz.HtmlContentFormart("01&02&03&04&05&06&07&08&09&12&13&14&15&16&17&18&19&23&24&25&26&27&28&29&34&35&36&37&38&39&45&47&58&59&67&68&69&78&79&89_45"); * Console.WriteLine(detail.BetContent); * bz.Calculate("1001", "6,4,4,4,8", detail); * Console.WriteLine(detail.IsMatch + " " + detail.WinMoney); * Console.ReadKey(); */ Database.SetInitializer(new MigrateDatabaseToLatestVersion <YtgDbContext, YtgDbContextConfiguration>()); LogManager.Info("同步数据库结构成功!"); // ISysUserBalanceService mSysUserBalanceService;//用户余额 Ytg.Scheduler.Tasks.AutoGroupBy.Run.Start(); InintData.Initital(); //初始化任务数据 var iScheduler = new SchedulerManager().Initital(); iScheduler.Start(); LogManager.Info("scheduler start !"); LogManager.Info("服务启动成功!"); Application.EnableVisualStyles(); Application.SetCompatibleTextRenderingDefault(false); Application.Run(new frmtest()); Console.Read(); }
public RegularMailService() { InitializeComponent(); //初始化调度器工厂 ISchedulerFactory sf = SchedulerManager.GetSchedulerFactory(); //获取默认调度器 IScheduler scheduler = SchedulerManager.GetScheduler(); SchedulerManager.GetScheduler().AddGlobalJobListener(SchedulerManager.GetJobListener()); }
protected void Application_Start() { AreaRegistration.RegisterAllAreas(); WebApiConfig.Register(GlobalConfiguration.Configuration); FilterConfig.RegisterGlobalFilters(GlobalFilters.Filters); RouteConfig.RegisterRoutes(RouteTable.Routes); SchedulerManager.Start(); }
internal static List <IUIData> GetData(int PortalID, UserInfo userinfo) { Dictionary <string, IUIData> Setting = new Dictionary <string, IUIData> { { "FriendlyName", new UIData { Name = "FriendlyName", Value = "" } }, { "ObjectDependencies", new UIData { Name = "ObjectDependencies", Value = "" } }, { "ScheduleStatus", new UIData { Name = "ScheduleStatus", Options = SchedulerFactory.GetScheduleStatus() } }, { "GetScheduleItems", new UIData { Name = "GetScheduleItems", Options = SchedulerManager.GetScheduleItems() } }, { "FrequencyPeriod", new UIData { Name = "FrequencyPeriod", Options = SchedulerManager.TimePeriod(), OptionsText = "Text", OptionsValue = "Value", Value = "s" } }, { "RunTimeLapsePeriod", new UIData { Name = "RunTimeLapsePeriod", Options = SchedulerManager.TimePeriod(), OptionsText = "Text", OptionsValue = "Value", Value = "s" } }, { "CatchUpTasks", new UIData { Name = "CatchUpTasks", Options = SchedulerManager.CatchUpTask(), OptionsText = "Text", OptionsValue = "Value", Value = "false" } }, { "RunOnEvent", new UIData { Name = "RunOnEvent", Options = SchedulerManager.RunOnEvent(), OptionsText = "Text", OptionsValue = "Value", Value = "0" } }, { "RetainScheduleHistory", new UIData { Name = "RetainScheduleHistory", Options = SchedulerManager.RetainScheduleHistory(), OptionsText = "Text", OptionsValue = "Value", Value = "0" } }, { "EnabledScheduling", new UIData { Name = "EnabledScheduling", Value = "false" } }, { "ScheduleStartDate", new UIData { Name = "ScheduleStartDate", Value = "" } }, { "RetryTimeLapse", new UIData { Name = "RetryTimeLapse", Value = "" } }, { "Server", new UIData { Name = "Server", Value = "" } }, { "Frequency", new UIData { Name = "Frequency", Value = "" } }, { "ClassNameAssembly", new UIData { Name = "ClassNameAssembly", Value = "" } } }; return(Setting.Values.ToList()); }
public void UpdateUI() { lbTriggersAvailable.Items.Clear(); foreach (string group in SchedulerManager.GetScheduler().TriggerGroupNames) { foreach (string trigger in SchedulerManager.GetScheduler().GetTriggerNames(group)) { TriggerAndGroup triggerAndGroup = new TriggerAndGroup(group, trigger); lbTriggersAvailable.Items.Add(triggerAndGroup); } } }
public void ThreadStar() { try { SchedulerManager.Start(); Response.Write(string.Format("Total: {0} Jobs Started", SchedulerManager.CurrentJobsList.Count)); } catch (Exception ex) { Response.Write("error:" + ex); } }
private void checkForReminders_ori() { List <vw_Reminder> reminders = SchedulerManager.GetUpcomingReminders(userID); if (reminders != null && reminders.Count > 0) { Session["vw_reminders"] = reminders; string js = "PopupCenter('../../Content/Reminder.aspx', 'Reminder', 600, 400);"; Page.ClientScript.RegisterClientScriptBlock(this.GetType(), "rk", js, true); } }
/// <summary> /// 从已有的触发器选择 /// </summary> /// <returns></returns> private Trigger GetTriggerAvailable() { if (lbTriggersAvailable.SelectedIndex > -1) { TriggerAndGroup triggerAndGroup = lbTriggersAvailable.SelectedItem as TriggerAndGroup; return(SchedulerManager.GetScheduler().GetTrigger(triggerAndGroup.TriggerName, triggerAndGroup.GroupName)); } else { MessageBox.Show("请选择现有的触发器,如果没有请添加"); return(null); } }
public void CancelExecution(Guid id) { SchedulerManager.StopExecutionById(id, true, AppUserState.Name); //var ind = ((FluentRegistry)HttpContext.Application["FluentRegistry"]).ExportJobs.FindIndex(n => n.Id == id); //if (ind >= 0) //{ // ((FluentRegistry)HttpContext.Application["FluentRegistry"]).ExportJobs[ind].Stop(true, AppUserState.Name); //} ////var fluentRegistry = (FluentRegistry)HttpContext.Application["FluentRegistry"]; ////fluentRegistry?.CommitExportJobs(id); }
public void DeleteExportJob(Guid id) { SchedulerManager.DeleteJobById(id); //var ind = ((FluentRegistry)HttpContext.Application["FluentRegistry"]).ExportJobs.FindIndex(n => n.Id == id); //if (ind >= 0) //{ // ((FluentRegistry)HttpContext.Application["FluentRegistry"]).ExportJobs[ind].DeleteJob(); // //((FluentRegistry)HttpContext.Application["FluentRegistry"]).ExportJobs[ind].Stop(true); // //((FluentRegistry)HttpContext.Application["FluentRegistry"]).ExportJobs.RemoveAt(ind); //} //var fluentRegistry = (FluentRegistry)HttpContext.Application["FluentRegistry"]; //fluentRegistry?.CommitExportJobs(id); }
private void btGetList_Click() { try{ var scheduler = new SchedulerManager(_session); using (var lForm = new FrmGetList(_excelapp.Hwnd, scheduler.EnumFolders, scheduler.EnumReports)) { lForm.ReportsPath = _settings.GetWorksheetParam("ReportsPath", ""); lForm.AssociatedInstance = _settings.GetWorksheetParam("AssociatedInstance", ""); lForm.IncludePrompts = _settings.GetWorksheetParam("IncludePrompts", false); if (lForm.ShowDialog() == DialogResult.OK) { _settings.SetWorksheetParam("ReportsPath", lForm.ReportsPath); _settings.SetWorksheetParam("AssociatedInstance", lForm.AssociatedInstance); _settings.SetWorksheetParam("IncludePrompts", lForm.IncludePrompts); var runner = new FrmRunner(_session.Logger, scheduler.Cancel); Report[] reports = null; var exitcode = runner.Execute(() => scheduler.GetReports(lForm.ReportsPath, lForm.IncludePrompts, lForm.AssociatedInstance, out reports) ); if (exitcode == ExitCode.FAILED || exitcode == ExitCode.CANCELED) { return; } var worksheet = (Excel.Worksheet)_excelapp.ActiveSheet; SwitchExcelToIdle(_excelapp, false); worksheet.Cells.EntireColumn.Hidden = false; worksheet.Cells.EntireRow.Hidden = false; foreach (Excel.ListObject lo in worksheet.ListObjects) { lo.Delete(); } var data = _parser.ParseReportsToDataArray(reports); var title = _parser.ParseReportsToTitleArray(reports); var nbRow = data.GetLength(0); var nbCol = title.GetLength(1); var listobject = worksheet.ListObjects.Add(Excel.XlListObjectSourceType.xlSrcRange, worksheet.Cells.Resize[Math.Max(nbRow + 1, 2), nbCol], Type.Missing, Excel.XlYesNoGuess.xlYes); listobject.HeaderRowRange.Value = title; if (nbRow > 0) { listobject.DataBodyRange.NumberFormat = "@"; _parser.FormatListObject(listobject); listobject.DataBodyRange.Value = data; listobject.DataBodyRange.WrapText = false; _parser.AddPromptsNameAsComment(listobject, reports); } SwitchExcelToIdle(_excelapp, true); } } } catch (Exception ex) { new BusinessObjectsUtils.FrmException(_excelapp.Hwnd, ex).ShowDialog(); } }
public PartialViewResult ExportJobs() { //var refr = HttpContext.Application["FluentRegistry"] as FluentRegistry; //refr.LoadExportJobs(); if (AppUserState == null || AppUserState.Connected == false) { return(PartialView("ExportJobs", new ExportJobViewModel())); } var hvm = new ExportJobViewModel { EJobs = SchedulerManager.GetJobsByType(JobTypeEnum.InFuseExportJob) }; return(PartialView("ExportJobs", hvm)); }
protected override void OnStop() { try { IScheduler scheduler = SchedulerManager.GetScheduler(); scheduler.Shutdown(false); log.Info("service stopped ok"); } catch (Exception ex) { log.Error("service stopped fail", ex); } }
protected void Page_Load(object sender, EventArgs e) { if (!String.IsNullOrEmpty(Request["ScheduledTaskId"])) scheduledTaskId = Convert.ToInt32(Request["ScheduledTaskId"]); //txtLastRunStatus.Enabled = false; if (!IsPostBack) { if (scheduledTaskId > 0) { schedulerManager = new SchedulerManager(this); scheduledTask = schedulerManager.GetScheduleTask(scheduledTaskId); txtName.Text = scheduledTask.Name; ucPeriodDate.DateTime = scheduledTask.StartTime; ucCurrFieldTxtPeriod.CurrencyValue = scheduledTask.Period; chkEnabled.Checked = scheduledTask.Enabled; txtTypeFullName.Text = scheduledTask.TypeFullName; txtLastRunStatus.Value = scheduledTask.LastRunStatus; } } }
/// <summary> /// Verifies each second whether is to do work schedule task /// </summary> private void CheckTimer() { while (SchedulerSection.Enabled) using (var manager = new SchedulerManager(null)) { Tasks = manager.GetAllScheduleTasks().ToList(); foreach (ScheduledTask task in Tasks) if (task.Enabled) { var start = task.StartTime; var now = DateTime.Now; if (start.Date == now.Date && start.Hour == now.Hour && start.Minute == now.Minute) task.Start(ar => manager.SaveScheduleTask((ScheduledTask)ar.AsyncState)); else while (task.StartTime < DateTime.Now.AddMinutes(-15)) task.StartTime = task.StartTime.AddMinutes(task.Period); } Thread.Sleep(60000); } }
/// <summary> /// Initializes a new instance of the <see cref="SchedulerForm"/> class. /// </summary> /// <param name="defaultParam"> /// The default param. /// </param> /// <param name="logger"> /// The logger. /// </param> public SchedulerForm(ExecutionParam defaultParam, ILogger logger) { this.InitializeComponent(); this.InitializeImageList(); this._logger = logger; this._scheduler = new SchedulerManager(this._logger); this.Text = AppUtil.ProductName + " " + this.Text; this.loadProgress.ControlItem.ContainerControl = this; this.loadProgress.ControlItem.ShowInTaskbar = false; this.statusStrip.Items.Add(this.loadProgress); this._defaultParam = defaultParam.ReflectionDeepClone(logger); if (this._defaultParam.OperationMode != OperationMode.GetFareAndSave && this._defaultParam.OperationMode != OperationMode.LiveMonitor) { this._defaultParam.OperationMode = OperationMode.GetFareAndSave; } this.loadProgress.VisibleChanged += this.LoadProgress_VisibleChanged; }