public bool AgendaVerCon() { bool result = false; Dados = new AcessoDados(); try { // Get the service on the local machine using (TaskService ts = new TaskService()) { // Crie uma nova definição de tarefa e atribua propriedades TaskDefinition td = ts.NewTask(); td.RegistrationInfo.Author = Usuario; td.RegistrationInfo.Description = "Efetua a verificação da conexão com o Banco de Dados a Cada 3 Minutos para Informar o usuário que o Banco de Dados está Online Novamente."; td.RegistrationInfo.Date = DataInicio; td.Principal.RunLevel = TaskRunLevel.Highest; td.Settings.Enabled = true; td.Settings.Hidden = false; td.Settings.RunOnlyIfNetworkAvailable = true; TimeSpan TempoIni = new TimeSpan(DateTime.Now.Hour, DateTime.Now.Minute, DateTime.Now.Second); // Crie um gatilho que irá disparar a tarefa nesta hora todos os dias td.Triggers.Add(new DailyTrigger { Id = "VerificaBD", DaysInterval = 1, StartBoundary = DataInicio }); td.Triggers["VerificaBD"].Repetition.Interval = TimeSpan.FromMinutes(3); td.Triggers["VerificaBD"].Repetition.Duration = TimeSpan.FromHours(24); // Crie uma ação que iniciará o Bloco de notas sempre que o gatilho for disparado ProgramaArgs = "ScriptSQL VerificaBD " + IDConex.Trim(); td.Actions.Add(new ExecAction(ProgramaExe, ProgramaArgs, null)); // Registra a tarefa na pasta raiz Tarefa = "VerConnBD"; ts.RootFolder.RegisterTaskDefinition(Tarefa, td, TaskCreation.CreateOrUpdate, null, null, TaskLogonType.InteractiveToken, ""); // Remova a tarefa que acabamos de criar //ts.RootFolder.DeleteTask("Test"); result = true; } } catch (Exception ex) { var erro = ex.Message + "\n" + ex.InnerException; Dados.GravaErro(erro); return(result); } return(result); }
public bool AgendaRebuild() { bool result = false; Dados = new AcessoDados(); try { // Get the service on the local machine using (TaskService ts = new TaskService()) { // Crie uma nova definição de tarefa e atribua propriedades TaskDefinition td = ts.NewTask(); td.RegistrationInfo.Author = "Controller Informática - Controller ERP - " + Usuario; td.RegistrationInfo.Description = DescricaoTarefa; td.RegistrationInfo.Date = DataInicio; td.Settings.Enabled = true; td.Settings.Hidden = false; td.Settings.RunOnlyIfNetworkAvailable = false; // Crie um gatilho que irá disparar a tarefa nesta hora todos os dias td.Triggers.Add(new DailyTrigger { DaysInterval = (short)FreqAgenda, StartBoundary = DataInicio }); // Crie uma ação que iniciará o Bloco de notas sempre que o gatilho for disparado td.Actions.Add(new ExecAction(ProgramaExe, ProgramaArgs, null)); // Registra a tarefa na pasta raiz ts.RootFolder.RegisterTaskDefinition(Tarefa, td, TaskCreation.CreateOrUpdate, null, null, TaskLogonType.S4U, ""); // Remova a tarefa que acabamos de criar //ts.RootFolder.DeleteTask("Test"); result = true; } } catch (Exception ex) { var erro = ex.Message + "\n" + ex.InnerException; Dados.GravaErro(erro); return(result); } return(result); }
public bool DeleteTask() { bool feito = false; Dados = new AcessoDados(); try { TaskSchedulerClass oAgendador = new TaskSchedulerClass(); oAgendador.Connect(); ITaskFolder containingFolder = oAgendador.GetFolder("\\"); containingFolder.DeleteTask(Tarefa, 0); feito = true; } catch (Exception ex) { var erro = ex.Message + "\n" + ex.InnerException; Dados.GravaErro(erro); feito = false; } return(feito); }