Blog

Postado em em 23 de junho de 2022

Rodar Código com Computador Desligado – Passo a Passo

Você sabe como rodar código com computador desligado? Então vem comigo que eu vou te mostrar como fazer isso!

Caso prefira esse conteúdo no formato de vídeo-aula, assista ao vídeo abaixo ou acesse o nosso canal do YouTube!

Para receber por e-mail o(s) arquivo(s) utilizados na aula, preencha:

Rodar Código com Computador Desligado

É muito comum surgir uma dúvida como essa, consigo rodar código com computador desligado? A resposta é sim! E nessa aula eu vou te mostrar como você pode fazer isso.

Vou abordar 2 opções que você tem para rodar o seu código de forma automática, mas com o computador ligado. Depois vamos para a opção que é o que de fato queremos, que é rodar código com computador desligado.

Para isso vamos ter que subir o nosso código em um servidor online, mas fique tranquilo que eu vou te mostrar o passo a passo.

Como Deixar Código em Python Rodando Automaticamente

Nós vamos utilizar apenas ferramentas gratuitas, mas a ideia é que você siga o mesmo passo a passo que vamos fazer para que tenha o mesmo resultado.

Depois de fazer uma vez você pode ir fazendo suas modificações, mas antes é interessante que você siga o que vamos propor!

O código que nós vamos utilizar é um código para pegar cotações de moedas de uma API, então você já pode baixar o arquivo (que está disponível para download) para que possamos começar!

Para que o seu código fique rodando 24h por dia e 7 dias por semana é necessário que você faça o deploy no seu código.

A primeira opção é deixar o código rodando no seu computador mesmo, deixando-o ligado direto. Outra opção é utilizar o agendador de tarefas do Windows.

Mas ainda não é isso que queremos, então outra opção é colocar esse código dentro de um servidor (que é um computador que nunca desliga ou na internet).

Para disponibilizar o nosso código online em um servidor nós vamos utilizar o Heroku que é uma ferramenta gratuita.

OBS: Lembrando que para poder utilizar a ferramenta você terá que criar uma conta no site antes de iniciar os procedimentos.

Criando o App
Criando o App

Após logar na sua conta você pode clicar em New > Create New App para poder criar um programa. Em seguida você vai colocar o nome desse app, lembrando que é bom colocar um nome intuitivo.

OBS: O heroku não vai permitir nomes iguais, então dependendo do que estiver fazendo é bom complementar mais o nome para não ter outro App com o mesmo nome do seu.

Assim que criado seu App, vai ser enviado a uma página já com o passo a passo do que precisa para fazer o deploy do seu código.

Passo a passo de instalação
Passo a passo de instalação

Veja que precisa começar com o download do Heroku CLI, então basta clicar no link e selecionar o seu sistema operacional.

Download do Heroku CLI
Download do Heroku CLI

É possível instalar em macOS, Windows e Linux, então basta escolher o seu sistema operacional e fazer a instalação (procedimento padrão dos programas).

Além de instalar o Heroku CLI é necessário que você instale o Git no seu computador, pois ele é que vai gerenciar o processo de disponibilizar uma versão.

Instalação do Git
Instalação do Git

IMPORTANTE: Depois dessas instalações é importante que você reinicie o seu editor de códigos em Python para que ele reconheça o que foi instalado. Pode reiniciar o computador também só para garantir que a instalação foi feita corretamente.

Para esse projeto nós vamos utilizar o PyCharm, então se ainda não tem ou não conhece basta clicar aqui que temos uma publicação de como fazer a instalação dele no seu PC.

Feitas as instalações nós vamos voltar com o passo a passo de instalação do Heroku no próprio site.

O primeiro passo é escrever heroku login no seu terminal. Feito isso você vai ser direcionado a um site para poder fazer o seu login, depois disso pode voltar ao editor de Python.

Para que o código fique disponível no heroku vamos ter que criar 2 arquivos. O primeiro arquivo você vai dar o nome de Procfile, se nenhuma extensão mesmo.

Dentro desse arquivo você vai escrever worker: python main.py. Onde esse main.py é o nome do seu arquivo, lembrando que se ele estiver dentro de outra pasta que não é onde você está com o código terá que colocar o caminho completo do arquivo.

IMPORTANTE: É necessário que agora você teste o código para verificar se ele de fato está funcionando, pois precisamos que ele esteja ok para prosseguir. Lembrando que se ainda não tem a biblioteca requests, basta escrever pip install requests no terminal para instalar.

O outro arquivo que nós vamos ter que criar é o requirements, que é justamente um arquivo que vai informar quais são as bibliotecas que vamos precisar para que o código rode normalmente.

Tem uma forma muito fácil de criar esse arquivo de forma automática, basta escrever o seguinte código no terminal: pip freeze > requirements.txt.

Com isso você vai notar que um arquivo txt será criado com tudo que o seu programa precisa para ser executado.

Agora que temos os dois arquivos podemos iniciar o processo de deploy (ainda seguindo o passo a passo do site).

Dentro do terminal vamos escrever git init para que o projeto seja iniciado. Em seguida vamos utilizar o código heroku git:remote -a scriptpython247.

IMPORTANTE: Aqui onde está escrito scriptpython247 você vai colocar o nome do seu app que colocou no site do heroku e precisa ser o nome do seu app mesmo, caso contrário não vai funcionar.

Agora o seu projeto já foi inicializado, e os próximos comandos serão utilizados sempre que você fizer uma atualização nesse projeto.

Então sempre que fizer uma atualização no projeto, seja hoje, ou qualquer outro dia que precise atualizar você vai fazer o login no heroku e utilizar os 3 comandos abaixo no terminal.

  • git add . (tem o ponto mesmo, pois o ponto significa que adiciona todos os arquivos);
  • git commit -am “deploy inicial” (entre aspas vamos colocar uma mensagem que representa essa atualização);
  • git push heroku master (comando para pegar o código do seu computador e disponibilizar no servidor).

Agora você pode ir ao site do heroku, ir até Resources, clicar no lápis para editar e ligar o worker que nós criamos.

Ativando o worker para executar o código
Ativando o worker para executar o código

Você vai até notar que o valor é 0, pois estamos utilizando um plano gratuito. Depois basta clicar em Confirm para executar esse worker que vai executar o código e em seguida podemos desligar e confirmar.

Como o nosso código ele tem como resultado apenas um print, como que vamos visualizar isso?

Basta clicar em More > View logs dentro do heroku para que você consiga visualizar o que foi executado.

Rodar Código com Computador Desligado
Visualizando o log do que foi executado

Agora você vai conseguir visualizar os valores das cotações que tivemos nesse momento, lembrando que os seus valores serão diferentes por conta das variações das moedas.

Rodar Código com Computador Desligado
Rodar código com computador desligado

Perfeito! O código foi executado, mas você provavelmente não vai querer ativar e desativar o worker sempre que quiser rodar seu código não é mesmo?

O heroku possui alguns adicionais (add-ons) que você pode colocar e um deles é o agendador (Advanced Scheduler). Basta pesquisar na barra logo abaixo de Add-ons.

Habilitando o agendador
Habilitando o agendador

Com isso você vai conseguir visualizar os planos que tem para esse agendador.

Rodar Código com Computador Desligado
Escolhendo o plano do agendador

A primeira opção é uma versão Trial, ou seja, uma versão gratuita desse agendador, então basta selecioná-la e clicar em Subit Order Form.

Ele vai aparecer dentro dos seus Add-ons e você vai clicar nele para fazer as configurações.

Criando o primeiro gatilho
Criando o primeiro gatilho

Aqui você pode clicar em Create First Trigger que é para criar o seu primeiro gatilho.

Primeiro você vai colocar o nome dessa sua automação, em seguida vai colocar o comando que será executado, que é o mesmo comando que está no seu worker. Nesse caso será python main.py.

Em seguida vai escolher o horário (pode escolher America/Sao Paulo), o estado já deve estar ativo.

Em tipo nós vamos colocar Recurring (que é para que seu código seja executado mais de uma vez).

Feito isso você pode selecionar o Schedule helper para fazer os agendamentos. Aqui você vai poder escolher se quer todo dia, toda semana, todo mês.

Agora basta clicar em Save que está feito! O agendamento foi concluído! Agora é só aguardar o período que você configurou que o código será executado!

Rodar Código com Computador Desligado
Rodar código com computador desligado

Para o nosso exemplo nós colocamos para o código rodar a cada minuto, então você vai ver que uma execução foi às 21:19 e a outra foi às 21:20.

Pronto! Agora você vai conseguir rodar código com computador desligado com o auxílio desse servidor. Lembrando que pode fazer as alterações de tempo ou alterar as configurações do servidor para se adequar ao seu projeto!

Conclusão – Rodar Código com Computador Desligado

Nessa aula eu te mostrei como rodar código com PC desligado fazendo o deploy dele dentro de um servidor gratuito.

Claro que dependendo das suas aplicações você pode verificar os planos pagos, mas para aplicações mais simples o plano gratuito vai te atender bem!

Agora você já sabe como rodar código em Python com PC desligado para deixar seus códigos rodando conforme o agendamento que fez!

Hashtag Treinamentos

Para acessar outras publicações de Python, clique aqui!


Quer aprender mais sobre Python com um minicurso básico gratuito?

Quer sair do zero no Python e virar uma referência na sua empresa? Inscreva-se agora mesmo no Python Impressionador