Agendar uma tarefa cron de Python com variáveis de ambiente de proxy
Coloque a rota no crontab e escolha explicitamente o interpretador e o diretório de trabalho do projeto.
Um crontab ao estilo Cronie/Vixie aceita entradas de ambiente acima dos seus comandos agendados. Uma tarefa de Python pode receber a sua rota de proxy diretamente:
http_proxy=http://proxy.example.net:8080
https_proxy=http://proxy.example.net:8080
15 * * * * cd /srv/myapp && /srv/myapp/.venv/bin/python jobs/fetch.py
O exemplo é executado no minuto 15 de cada hora. Os caminhos referem-se a um projeto e a um ambiente de Python existentes, e o cliente HTTP usado pelo script deve ler estas variáveis de proxy. A lista de proxies HTTP pode fornecer um endpoint para uma tarefa pública de obtenção permitida que não precise de conta de proxy.
Essas entradas de ambiente aplicam-se às tarefas seguintes nesse crontab. Se apenas uma tarefa deve usar a rota, coloque as atribuições de variáveis no comando dessa tarefa.
Use o interpretador e o diretório de trabalho reais do projeto. Um valor de proxy correto não pode fazer outra instalação de Python importar as dependências previstas nem encontrar um ficheiro de configuração relativo ao projeto. As adições amplas de PYTHONPATH e de caminhos de bibliotecas são desnecessárias quando o comando agendado já seleciona o ambiente correto.