Processo de lote do lado do servidor em um ambiente de hospedagem compartilhada
-
11-09-2019 - |
Pergunta
Eu estou escrevendo um site que irá ser hospedado em um ambiente de hospedagem compartilhada. Como consequência, não terá qualquer acesso a coisas como o agendador de tarefas. O site precisa para executar várias verificações em regime de meia-diária. Qual é a melhor maneira de disparar essas tarefas nesse cenário?
O melhor duas coisas que eu poderia pensar de onde:
- Fire o processo cada vez que um usuário acessa meu site - realizar algum tipo de verificação para ver quando o processo última execução, e se for maior do que 12 horas executar o processo .
- Tem alguma página escondida que executa os processos e, em seguida, obter alguma entidade externa para fazer ping esta página em intervalos de 12 horas.
Ambos os métodos parecer um ropey pouco?
Solução
Você pode usar um pequeno truque que usa o asp.net de cache .
Outras dicas
Definitivamente não utilize sua opção # 2, a menos que tenha algum tipo de proteção contra a executá-lo acidentalmente.
Você também não quer que seu processamento para depender de solicitações do usuário. O que acontece se você tem um dia muito lento (dizer um feriado combinado com um grande em algum lugar fibra cortada) e ninguém bate o local por um tempo?