2021年4月19日(月)リタイヤ生活1230日目

今日は1日、快晴で温暖な陽気だった。

 

最近、作っていたWebでの予約システムを昨日夕方に
初めて使うことができた。
1本目のスタジオレッスンが終わって10分後に
翌週の同じレッスンの予約ができるため、
3分ほど前にプログラムを起動した。
プログラムは、可能なところまでは走行し、
その後は予約時刻までWaitingするようになっている。


予約時刻になって、プログラムが走り出したのを
確認してから、念のため、手動でも予約を初めて見た。
すると、手動でそのまま予約できてしまった。
本来であれば、自動システムの方が速いため、
手動で予約をしようとしても、予約済となる筈だった。
これは意外だった。

 

2本目のレッスンが終わって、もう一回プログラムを走らせた。
今回も同時に手動でも予約しようとしてみた。
今回は、予定通り、手動の方で既に予約済になっており、
自動システムで予約したことが確認できた。

 

なぜ1回目は、自動予約の方が手動よりも遅かったのか。
今日は、プログラムのチューニングと原因究明をしていた。
まず、自動システムのチューニングとして、
Webの読み込みなどでWaitingしているところや、
デバッグのためスクリーンショットを取っているところを
すべてコメントアウトした。
それ以外に、やや冗長と思える箇所を修正してみた。
しかし、処理時間はあまり変わらず、13-14秒程度だった。

 

ただ、そのチューニングをしている時に気づいたのは、
1回目の方が2回目以降よりも少し時間がかかると言うことだった。
たぶん、1回目は何かのリソース確保に余計に時間がかかり、
2回目以降はそれが済んでいるので少し速いのではないかと思えた。

 

昨日、1回目は手動より少し遅く、2回目は早かったのも
これで説明がつきそうだ。
従って、今後は予約時刻より前に何の予約でも良いので
1回起動して置けば、次からは少し早くなると考えられる。

 

同時に気になっていたことも調べてみた。
この自動システムは、Google Colaboratoryを使っているため、
そのサーバから予約のWebサーバにアクセスが行く。
このサーバのロケーションはどこなのだろうか?
ネットで検索してみると、サーバのロケーションは
アメリカ・カリフォルニア州のマウンテンビューとのこと。
比較的スタンフォード大学が近く、いわゆるシリコンバレー近辺だ。
一応日米間で通信していることになるが、この二者間であれば、
ネットワークも太く、特に問題はなさそうだ。

とうことで、自動予約システムは一応完成。
今回習得したSeleniumの使いこなし方は、
直ぐに忘れてしまいそうな気がしたので、
一応、自分のための説明ドキュメントは作成して、これで完了。
最近、時間を費やしていた作業がこれで一段落した。


さて、次は何をやろうか。