private void DefinirAgendamentoExecucao() { RegistroLog.RegistarLogInfo(Mensagem.SistemaAgendamentoInicio); ISchedulerFactory schedFact = new StdSchedulerFactory(); ITrigger trigger; this.scheduler = schedFact.GetScheduler(); //this.scheduler.Start(); IJobDetail job = JobBuilder.Create <FrmArquivoDataSUS>() .WithIdentity("JobAplicacao", "groupAplicacao") .Build(); if (this.gbxAcadaMinuto.Enabled) { trigger = TriggerBuilder.Create() .StartNow() .WithSchedule(SimpleScheduleBuilder.RepeatMinutelyForever(Convert.ToInt32(this.nudCadaMinuto.Value.ToString()))) .Build(); } else { CronScheduleBuilder cronScheduleBuilder; Enumeradores.DiaDaSemana dia = Enumeradores.ConverterObject2DiaDaSemana(this.ddlDiaAgendamento.SelectedValue); if (dia == Enumeradores.DiaDaSemana.AllDays) { cronScheduleBuilder = CronScheduleBuilder.DailyAtHourAndMinute(Convert.ToInt32(this.nudHora.Value), Convert.ToInt32(this.nudMinuto.Value)); } else { cronScheduleBuilder = CronScheduleBuilder.WeeklyOnDayAndHourAndMinute((DayOfWeek)dia, Convert.ToInt32(this.nudHora.Value), Convert.ToInt32(this.nudMinuto.Value)); } trigger = TriggerBuilder.Create() .StartNow() .WithSchedule(cronScheduleBuilder) .Build(); } this.scheduler.ScheduleJob(job, trigger); this.scheduler.Start(); this.lblUltimaExecucao.Text = "--/--/---- --:--:--"; this.lblProximaExecucao.Text = trigger.GetNextFireTimeUtc().Value.LocalDateTime.ToString(Constantes.FormatoDataHora); RegistroLog.RegistarLogInfo(Mensagem.SistemaAgendamentoFim); }
private void DefinirAgendamentoExecucao() { RegistroLog.RegistarLogInfo(Mensagem.SistemaAgendamentoInicio); ISchedulerFactory schedFact = new StdSchedulerFactory(); ITrigger trigger; this.scheduler = schedFact.GetScheduler(); IJobDetail job = JobBuilder.Create <ServicoArquivosDataSUS>() .WithIdentity("JobServico", "groupServico") .Build(); if (this.executarAcadaMinuto > 0) { trigger = TriggerBuilder.Create() .StartNow() .WithSchedule(SimpleScheduleBuilder.RepeatMinutelyForever(this.executarAcadaMinuto)) .Build(); } else { CronScheduleBuilder cronScheduleBuilder; Enumeradores.DiaDaSemana dia = Enumeradores.ConverterObject2DiaDaSemana(this.diaAgendamento); if (dia == Enumeradores.DiaDaSemana.AllDays) { cronScheduleBuilder = CronScheduleBuilder.DailyAtHourAndMinute(this.hora, this.minuto); } else { cronScheduleBuilder = CronScheduleBuilder.WeeklyOnDayAndHourAndMinute((DayOfWeek)dia, this.hora, this.minuto); } trigger = TriggerBuilder.Create() .StartNow() .WithSchedule(cronScheduleBuilder) .Build(); } this.scheduler.ScheduleJob(job, trigger); this.scheduler.Start(); RegistroLog.RegistarLogInfo(Mensagem.ServicoProximaExecucao + " - " + trigger.GetNextFireTimeUtc().Value.LocalDateTime.ToString(Constantes.FormatoDataHora)); RegistroLog.RegistarLogInfo(Mensagem.SistemaAgendamentoFim); }