カレンダー

2024/01
 
   
       

広告

Twitter

記事検索

ランダムボタン

1/16、世界は終わる

by 唐草 [2024/01/12]



 某大学の学内向けWebサイトには、ぼくが0から書いたカレンダーWebアプリが設置されている。表示部分しか注目されていないが、本当の実力はシステムの裏側で人知れず動く部分にある。
 このWebアプリはGoogleカレンダーと同期している。事務側がGoogleカレンダーに手動入力した年間スケジュールが表示されるのは当然。ぼくが「本当の実力」と呼ぶのは、もっと複雑な機能だ。
 その大学では情報発信にWordpressを利用している。ぼくのカレンダー同期プログラムは、そのWordpressのデータベースを直接読み込んで投稿のタグやカテゴリーを参考にカレンダーに掲載するべき記事を抜き出し、その中身から対象学部や掲載期間を判断してGoogleカレンダーに同期する一連の作業を自動化している。
 この仕組みによって休講情報など様々な情報が自動的にカレンダーに掲載される。かれこれ2年に渡って問題なく動作し続けていた。
 ところが、2024/1/16以降のスケジュールが一切表示されないという緊急の連絡が舞い込んできた。
 年を跨いだことによるトラブルだろうか?いや、これまでの稼働実績から言ってそれはない。
 まず同期元のGoogleカレンダーを確認する。そこには2024年3月までのスケジュールが登録されている。一方、大学のサーバにある同期済みのデータは1/16までで止まっている。しかし、最終同期時間は数分前になっているので同期処理は動いている。
 いったい何が起きているのだろう?
 プログラムを眺めて30分ばかり頭を捻っていた。
 すると突然原因に気づいた。
 同期処理時間短縮とGoogle APIの呼び出し回数を減らすために150件までしか同期しないように制限をかけていた。これが原因。
 ぼくの自動同期プログラムがせっせとスケジュールをGoogleカレンダーに登録しまくった結果、取得範囲のスケジュールが150件を超えてしまっていた。
 想像以上にカレンダーが活用された結果の嬉しい誤算とも言えるエラーだ。だが、このエラーは本当に恐ろしいことの前触れでしかなかった。

つづく