Python-Cronjob mit Proxy-Umgebungsvariablen planen
Tragen Sie die Route in die crontab ein und wählen Sie Interpreter und Arbeitsverzeichnis des Projekts ausdrücklich.
Eine crontab im Cronie/Vixie-Stil akzeptiert Umgebungseinträge über ihren geplanten Befehlen. Ein Python-Job kann seine Proxy-Route direkt erhalten:
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
Das Beispiel läuft in Minute 15 jeder Stunde. Die Pfade verweisen auf ein vorhandenes Projekt und eine Python-Umgebung, und der vom Skript verwendete HTTP-Client muss diese Proxy-Variablen lesen. Die HTTP-Proxy-Liste kann einen Endpunkt für einen zulässigen öffentlichen Abrufjob liefern, der kein Proxy-Konto benötigt.
Diese Umgebungseinträge gelten für nachfolgende Jobs in dieser crontab. Wenn nur ein Job die Route nutzen soll, setzen Sie die Variablenzuweisungen stattdessen in den Befehl dieses Jobs.
Verwenden Sie den tatsächlichen Interpreter und das Arbeitsverzeichnis des Projekts. Ein korrekter Proxy-Wert kann eine andere Python-Installation nicht dazu bringen, die vorgesehenen Abhängigkeiten zu importieren oder eine Konfigurationsdatei relativ zum Projekt zu finden. Breite Ergänzungen von PYTHONPATH und Bibliothekspfaden sind unnötig, wenn der geplante Befehl bereits die richtige Umgebung auswählt.