Webcron - Webcron

webcron é o termo para um agendador de tarefas baseado em tempo hospedado em um servidor web . O nome deriva da frase servidor web e do daemon Unix cron . Uma solução webcron permite aos usuários agendar trabalhos para serem executados dentro do ambiente do servidor web em um host que não oferece uma conta shell ou outros meios de agendamento de trabalhos.

Visão geral

Muitos hosts da web oferecem contas shell ou algum tipo de agendador de tarefas integrado, como o cron, que torna mais fácil para os usuários agendar tarefas. Esses hosts executam trabalhos como aplicativos de linha de comando que podem se comunicar opcionalmente com o servidor da web. Uma solução webcron, no entanto, funciona inteiramente dentro do alcance do ambiente de servidor web de um host. Isso permite que uma solução webcron opere em hosts que não oferecem um agendador de tarefas, como cron ou uma conta shell. Uma solução webcron também funcionará igualmente bem em hosts que oferecem esses recursos aos usuários, mas foi projetada como uma substituição ou substituição.

Uma solução webcron é composta por duas partes. A primeira parte é um script que executará as tarefas que residem em algum lugar acessível por meio de uma URL . A segunda parte é usar um provedor de agendamento que contata a URL do script em intervalos regulares.

Antes de configurar um agendamento com um provedor de agendamento, um usuário deve configurar um script que é executado no servidor web. A maioria dos hosts da web tem restrições quanto ao tempo que uma única instância de um script pode ser executada. Muitos hosts da Web também têm limitações no uso de recursos de CPU e RAM . Os usuários de soluções webcron em provedores de hospedagem compartilhada devem ter cuidado para não exceder repetidamente as limitações de seu host da web para não serem iniciados. Um script que roda muito tempo deve levar em conta que pode ser encerrado a qualquer momento por um processo de servidor web. Os usuários podem implementar uma máquina de estado , que permite que o script opere em várias invocações e seja executado dentro das limitações impostas por um host da web.

Provedores de agendamento

Terceiro

Existem muitos provedores de programação webcron terceirizados na web. Esses serviços aceitam um URL e uma programação de frequência para recuperar ou executar ping no URL especificado. A maioria dos provedores tem restrições embutidas em seus sistemas para evitar sobrecarregar seus servidores e encorajar os usuários a se inscreverem para contas premium.

Os usuários que configuram contas premium em provedores de agendamento webcron terceirizados geralmente ganham benefícios adicionais, como notificações por SMS e e - mail , relatórios de tempo de atividade e registro, aumento dos limites de tempo limite, agendas não expiram, sendo capaz de usar o método HTTP POST , suporte a cookies HTTP , ou menos restrições na frequência de agendamento.

Alguns provedores de serviço webcron aceitam a expressão CRON na interface da web para agendar o tempo de execução do trabalho.

Com base no visitante

Uma solução webcron pode ser contida inteiramente em um host da web, permitindo que os visitantes acionem um script de agendador do webcron no servidor. Por exemplo, isso pode ser feito usando um elemento HTML 'img' no cabeçalho ou rodapé do site, uma chamada Ajax em um script ou um iframe . Quando um visitante visualiza o site, a imagem é carregada, o que aciona o programador do webcron. O agendador do webcron executa todas as tarefas que precisam ser executadas e, em seguida, gera uma imagem para que o navegador do visitante não exiba uma imagem quebrada na página. Como alternativa, ele pode iniciar a tarefa de forma assíncrona, de modo que a resposta HTTP não seja atrasada.

Se não houver visitantes suficientes em um site usando a programação do webcron baseada no visitante, as tarefas programadas não serão executadas no prazo.

Uma vez que a programação do webcron baseada no visitante permite a possibilidade de soluções webcron independentes, aumenta a portabilidade de um website ou produto de software baseado na web. Alguns softwares de código aberto baseados na web que têm tarefas que precisam ser executadas regularmente usam uma solução webcron baseada no visitante para executar essas tarefas.

Acesso remoto

Uma solução webcron com acesso remoto é normalmente fornecida com um par de componentes de cliente e servidor. O cliente é executado em um computador separado, como o computador pessoal do usuário. Uma programação de trabalho é configurada no computador onde reside o componente cliente. Então, quando o trabalho é executado, o componente cliente se comunica com o componente servidor.

O acesso remoto geralmente oferece recursos que são impossíveis com outros provedores de agendamento. Os dados entre os componentes do cliente e do servidor são normalmente criptografados até mesmo através de HTTP. Isso permite que um plug - in ou módulo para o componente cliente converse com o componente servidor para solicitar com segurança informações que normalmente são restritas. A compactação dos dados enviados e recebidos ajuda a reduzir a largura de banda geral usada.

Uma implementação típica de um plugin ou módulo de acesso remoto é fazer backup incremental de arquivos e bancos de dados do servidor da web para o cliente. Algumas implementações de backup incremental podem até oferecer funcionalidade básica do sistema de detecção de intrusão baseado em host .

Acesso Local

Uma solução webcron pode ser usada em hosts que já têm o cron disponível. Isso é útil quando a funcionalidade necessária está disponível apenas por meio do servidor da web. O cron daemon é o provedor de agendamento e entra em contato periodicamente com o script usando outra ferramenta como o Wget .

No caso de uma solução webcron com acesso remoto, o cron pode executar o componente cliente para executar o script.

Preocupações com segurança

Como as soluções do webcron envolvem disponibilidade por meio de uma URL, existem várias questões de segurança diferentes que os usuários devem abordar. Uma solução webcron apresenta questões de confiança, oportunidades para ataques de negação de serviço , rede ou farejamento de pacotes , execução de um ataque de repetição e possível exposição de informações. Uma solução webcron é um ponto de entrada ideal para hackers de computador criminosos .

Ao usar um provedor de agendamento de terceiros, os usuários confiam no terceiro para não usar indevidamente o URL de nenhuma forma. Os usuários também devem presumir que a conexão entre o servidor de terceiros e o servidor da web é protegida contra hackers.

Ao usar um provedor de agendamento com base no visitante, os usuários podem inadvertidamente fornecer um local possível para ataques de negação de serviço. Além disso, se um script for escrito incorretamente, o script pode expor acidentalmente informações sobre o servidor.

Ao usar um provedor de agendamento de acesso remoto, os usuários geralmente têm controle refinado sobre como a comunicação ocorre com o servidor web. Se o HTTP for usado, a URL será enviada sem criptografia pela rede, mas os dados da solicitação normalmente serão criptografados. Isso abre a possibilidade de ataques de negação de serviço e ataques de repetição.

Referências