Cronで定期実行するプログラムがタイムアウトする
CronでSeleniumでサイト情報をスクレイピングするPythonファイルを定期実行させたいと思い、デバッグで動作確認したものをCRONで定期実行させると以下のエラーがでる問題に直面しました。
requests.exceptions.ReadTimeout: HTTPConnectionPool(host=’tinyurl.com’, port=80): Read timed out. (read timeout=2))
原因と解決法
エラーの原因はプログラムの実行時間がCRONのタイムアウト時間を超えていたことでした.
(自分の環境でエラーだったプログラムは5分に1ツイートする処理を5回繰り返すので25分くらいの処理時間になっていました)
なので、CRONでコマンドを実行する際に以下のようにtimeout 秒数 としてタイムアウトの設定を変更する記述を加えてあげることで解決しました。
*/3 * * * * * python timeout 5400 xxxx.py
では~
コメント