Cronie/Vixie 스타일의 crontab은 예약된 명령 위에 환경 항목을 둘 수 있습니다. Python 작업은 프록시 경로를 직접 받을 수 있습니다:

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

예제는 매시 15분에 실행됩니다. 경로는 기존 프로젝트와 Python 환경을 가리키며, 스크립트가 사용하는 HTTP 클라이언트는 이 프록시 변수를 읽어야 합니다. HTTP 프록시 목록은 프록시 계정이 필요 없는 허용된 공개 가져오기 작업에 엔드포인트를 제공할 수 있습니다.

이 환경 항목은 해당 crontab의 이후 작업에 적용됩니다. 작업 하나만 경로를 사용해야 한다면, 변수 할당을 그 작업의 명령에 두세요.

프로젝트의 실제 인터프리터와 작업 디렉터리를 사용하세요. 올바른 프록시 값이 다른 Python 설치가 의도한 종속성을 가져오거나 프로젝트 기준으로 구성 파일을 찾게 만들 수는 없습니다. 예약된 명령이 이미 올바른 환경을 선택한다면 광범위한 PYTHONPATH와 라이브러리 경로 추가는 불필요합니다.

관련 글