私は、HTTP経由でjson形式でデータをダウンロードするPythonスクリプトを持っています。要求モジュールを使用してコマンドラインでスクリプトを実行すると、HTTP接続は成功し、データは問題なくダウンロードされます。しかし、私がcrontabジョブとしてスクリプトを起動しようとすると、しばらくするとHTTP接続によってタイムアウトが発生します。誰でもここで何が起こっているのか教えてもらえますか?私は現在、bashスクリプトを介してデータをダウンロードしてから、そのbash内からPythonスクリプトを実行しています。しかし、これはナンセンスです!どうもありがとうございます!スクリプトがcrontabで起動されたときにPythonリクエストがハングする
使用方法:3.6.1 | Anaconda custom(64-bit)| (デフォルト、May 11 2017、13:09:58)\ n [GCC 4.4.7 20120313(Red Hat 4.4.7-1)]
P .:この問題に関する投稿は見つかりませんでした。これについての回答が既に他の投稿にある場合は、謝罪を受け入れてください。
これは私のコードからの抜粋です。 requests.get(url)を実行するとタイムアウトします。
try:
response = requests.get(url)
messages = response.json()["Messages"]
except requests.exceptions.Timeout:
logging.critical("TIMEOUT received when connecting to HTTP server.")
except requests.exceptions.ConnectionError:
logging.critical("CONNECTION ERROR received when connecting to HTTP server.")
URLやURLの作成方法を指定できますか?両方のケースでログに記録し、それが確実に並んでいることを確認してください。私がチェックする最初のことは、あなたが思うものであるかどうかです。環境変数から。 – lyngvi
あなたの答えをありがとう!私は実際のURLを指定することはできません。私はそれを確認する必要があります。とにかく、私が言うことの1つは、スクリプトが完全にコマンドラインで動作するのに対し、crontabで起動するとハングアップするということです。私は、URLが正しく構築されていること(結果を出力し、その文字列をPythonインタプリタに貼り付けてテストすること)を得たことはかなり肯定的です。とにかく、ちょうど私に考えを与えました:他のURLでテストしてください。 –
それがどのように構築されているかを尋ねるより多くの理由。例として、Cronが実行される環境は通常、あなたが通常実行する環境とは一致しません(例えば '.bashrc' /' .bash_profile'の変数は一般に利用できません)。 – lyngvi