En crontab i Cronie/Vixie-stil accepterar miljöposter ovanför sina schemalagda kommandon. Ett Python-jobb kan ta emot sin proxy-rutt direkt:

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

Exemplet körs på minut 15 varje timme. Sökvägarna avser ett befintligt projekt och en Python-miljö, och den HTTP-klient som skriptet använder måste läsa dessa proxyvariabler. HTTP-proxylistan kan tillhandahålla en slutpunkt för ett tillåtet offentligt hämtningsjobb som inte behöver något proxykonto.

Dessa miljöposter gäller för senare jobb i den crontab-filen. Om bara ett jobb ska använda rutten, lägg variabeltilldelningarna på det jobbets kommando i stället.

Använd projektets faktiska tolk och arbetskatalog. Ett korrekt proxyvärde kan inte få en annan Python-installation att importera de avsedda beroendena eller hitta en konfigurationsfil relativt projektet. Breda tillägg av PYTHONPATH och bibliotekssökvägar är onödiga när det schemalagda kommandot redan väljer rätt miljö.

Relaterade artiklar