Tarefas agendadas vs serviço?

1

Eu sou um programador projetando uma solução para um problema que estamos tendo. Eu estava pensando em escrever um aplicativo e usar as Tarefas Agendadas do Windows para executá-lo uma vez por dia, em vez de escrever um serviço que duraria a maior parte do tempo e acordar uma vez por dia para fazer isso. Mas a minha pergunta é que os administradores geralmente usam tarefas agendadas do Windows?

O aplicativo seria excluir arquivos antigos que geramos e não podemos limpar de outra maneira (por boas razões).

    
por Jeremy Cron 28.07.2009 / 16:09

6 respostas

5

Eu concordaria com os outros em que as tarefas agendadas seriam adequadas às suas necessidades. Eu adicionaria embora (como um programador eu mesmo) que como uma tarefa agendada, algum algum tipo de confirmação será enviado para você (email?) Que a tarefa foi executada com sucesso e / ou anexar resultados a um log arquivo em algum lugar para uma possível solução de problemas. Fazer algum tipo de relatório / registro / auditoria sempre será útil se você precisar.

    
por 28.07.2009 / 16:20
5

Veja como eu decido ...

Serviços são para executar operações "constantes" o tempo todo.

Tarefas agendadas são para executar unidades únicas de trabalho em intervalos agendados (o que você deseja). Realmente, as tarefas agendadas em si já são um serviço.

Não escreva um serviço que duplique a funcionalidade Tarefa Agendada. :)

    
por 28.07.2009 / 16:30
2

Eu diria que, para uma operação de uma vez por dia, tarefas agendadas estão bem. Eu os uso por várias razões em toda a nossa rede. Ter um monte de serviços em execução, mesmo se eles estiverem inativos a maior parte do tempo, ainda usa alguns recursos do sistema. Serviços, IMHO, devem ser usados para coisas que precisam ser executadas continuamente para responder a eventos em tempo hábil ou se comunicar com outros serviços de rede conforme necessário.

    
por 28.07.2009 / 16:14
0

Como muitas perguntas dadas aos desenvolvedores de soluções, isso depende. Não há nada de errado com o uso de tarefas agendadas e desde que qualquer solução que você esteja desenvolvendo claramente indique na documentação o que / como você faz algo, você deve estar bem. Há vantagens em executar algo como um serviço, como poder criar scripts em uma solução para um não administrador para executar um serviço, se eles não souberem como usar o console services.msc. Ou até mesmo ser capaz de monitorar o referido serviço via Powershell ou um programa de monitoramento de rede como o What's Up Gold. Com a tarefa Agendada, você pode executar o seu programa em uma programação que você decidir, mas você também pode adicionar argumentos (o que também pode ser feito com serviços tecnicamente), mas pode fazê-lo em um formato de GUI simples. Novamente, o que você decidir é mais fácil e mais útil para sua situação.

    
por 28.07.2009 / 16:16
0

O único problema com as tarefas agendadas é que, uma vez que você tenha mais do que um punhado de máquinas para gerenciar, é realmente fácil perder a noção do que está acontecendo. Em que ponto você tem que desembolsar para um programa de gerenciamento de tarefas ...

    
por 28.07.2009 / 21:57
0

Outra consideração seria se a máquina / usuário permaneceria conectado ou não. Você gostaria de testar cada cenário com cada opção, dependendo da solução desejada.

    
por 05.11.2009 / 04:13