Programação / PHP

Executando Tarefas automáticas com o recurso CRON

Agende a periodicidade e o comando que deve ser executado e deixa responsabilidade de execução com o servidor

Por Gustavo Web

Publicado por Gustavo Web
em 05/02/2018 às 22h13

Lista VIP UpInside

Entre para nossa lista VIP e receba vídeo aulas, artigos e tutoriais exclusivos e com prioridade

  QUERO ENTRAR

Aula exclusiva UpInside Play

Acessar aula no Play

Compartilhe:

Salve salve WebMaster!

Atendendo mais um pedido e o assunto da vez é CRON. Se você ainda não sabe do que se trata, basicamente CRON (cronjob, crontab, crontask... é tudo a mesma coisa) é um recurso que vem praticamente que nativo no sistema operacional Unix.

Para o funcionamento, basta você informar a periodicidade que deseja que a rotina seja invocada e também o comando que deve ser feito.

Para criar um exercício para essa aula e também para fortalecer ainda mais o nosso elo com os nossos alunos, decidir colocar o recurso de e-mail automático de aniversário. Sem mais delongas, vamos ao tópicos!

Material de Apoio:

Esse tópico vai ficar vazio hoje! Sem link para documentação ou ainda para repositórios do github.

Isso porque não precisamos de absolutamente nada, os únicos recursos que utilizamos nesse caso é a linguagem de programação e o recurso de CRON que o cPanel nos entrega uma interface gráfica bastante simples para gerenciar esse tipo de atividade.

Além do painel te ajudar, o assistente ainda lhe auxilia na criação do agendamento! Melhor que isso, só dois disso.

Premissas:

Basicamente para que você tenha uma CRON de sucesso rodando, você não pode ter nenhuma interação "humana", e com isso quero dizer que, não pode ser informado nenhum parâmetro, não pode ser parametrizado nada, não pode depender de um clique num botão... Enfim! Tem que ser tudo automatico de fato.

Outro ponto é que você não pode/deve depender de uma saída HTML para saber se a CRON foi executada com sucesso. Portanto, depois que o script for executado você deve ter simplesmente um documento em branco sendo exebido sem nenhum tipo de mensagem. (Seja um echo teste ou até mesmo um var_dump ou warning do php).

Caso você tenha algum tipo de saída, você será notificado por e-mail! Isso se não me falha memória, isso é um recurso relativamente novo que o cPanel deve ter liberado nas últimas versões... Porque na minha época (aqui é raiz) a gente só ia descobrir que a cron estava com problema um mês depois!

E por fim a periodicidade que não para nunca. Então depois de parametrizado os minutos, horas, dias... Ela será executada sempre até que você remova a atividade.

Fique esperto:

Há um ponto que você deve estar sempre de olho!

O primeiro e mais importante é o caminho dessa atividade. Se esse caminho for de conhecimento de outras pessoas, podem usar para bagunçar seu banco, gerar transtorno ou ainda incomodar sua audiência. Por exemplo, na aula você viu que basta chamar o arquivo e a tarefa é executada.

Imagina que algum malicioso pega esse caminho e decide atualizar a página várias vezes? Os alunos acabariam recebendo diversos e-mails repetidos.

O ideal é que você tenha uma camada de segurança protegendo essas CRONS! Seja a mudança de diretórios frequentemente, ou um registro no banco de dados para evitar reprocessamento da atividade ou o melhor de tudo, os dois juntos!

Feedback:

Como sempre, seu comentário será muito bem vindo logo aqui abaixo! Me conta o que você achou dessa aula! O que está achando do UpInside Play? O conteúdo da aula foi legal?

Compartilhe:

Em Programação:

Deixe seu comentário: