アメグラ2号のブログ

1980年代後半の古き良きビデオゲームのほか、オッサンの個人的備忘録

ラズパイ 定期実行デバッグ その2

ラズパイで自動的にスクリプトを実行するデバッグを始めたが、なーぜか午前0時以降に収集できていない。日中は正常に動いているのに・・・。

 

下記は前回記事。

game-allergy.hatenablog.com

 

で、原因追及のため下記を実行。
------------------------------------------
実行:自動スクリプト起動の実施
------------------------------------------
◆cronの設定
sudo crontab -e

下記追記
@reboot python3 /home/pi/m01_schedule.py


------------------------------------------
トラブル:0時以降に収集できていない事態発生
------------------------------------------
対処:ログを収集し、原因を突き止める。


◆cronログ収集の設定
sudo nano /etc/rsyslog.conf

下記のコメントアウト解除
#cron.* /var/log/cron.log

◆サービス再起動
sudo /etc/init.d/rsyslog restart

◆ログのレベル
sudo nano /etc/default/cron

# For quick reference, the currently available log levels are:
# 0 no logging (errors are logged regardless)
# 1 log start of jobs
# 2 log end of jobs
# 4 log jobs with exit status != 0
# 8 log the process identifier of child process (in all logs)
#
EXTRA_OPTS='-L 15'

◆cron再起動
sudo /etc/init.d/cron restart


◆ログは以下
/var/log/cron.log


結果;
ログを見たらerrorが出てる時刻くらいで、内容が分からん。


◆cronの設定(標準出力とエラー出力が一緒に出る)
sudo crontab -e

下記追記
@reboot python3 /home/pi/m01_schedule.py>> /tmp/test.log 2>&1


一晩明けて、/tmp/test.logを見てみると・・・

-------------------------------------------------------
2021_05/09_23:55_13 ===Process done===
2021_05/10_00:05_14 ===Process started===
WeatherTable exists, then deleted old one and created new one
2021_05/10_00:05_15 table done
Traceback (most recent call last):
File "/home/pi/m01_schedule.py", line 168, in <module>
main()
・・・

・・・

・・・
StoreDB(List_all,cur,connection)
File "/home/pi/a02_web.py", line 67, in StoreDB
cur.execute(sql1,(List_all[0][i], List_all[1][i], List_all[2][i], List_all[3][i], List_all[4][i], List_all[5][i]))
IndexError: list index out of range
-------------------------------------------------------

どこがおかしいのか特定できた。

webスクレイピングスクリプトのどこかだ。

えーっと、あぁ…なるほど、、、要はスクリプトがいけてないのか。
なぜか0時を越えたときだけに起こるのは分からないが、、、。
まぁ取得したデータ数がなんか違うんだろな…中身見てないから仕方ない。

「配列のレンジを越えている」
スクレイピングが完了して、データベースに格納する際に何か起きている。

格納する際のループが固定値だったので(テストでとりあえず入れておいたのがダメぽん…)、配列データから取得するように変更。
これでいけるか?

 

game-allergy.hatenablog.com