自動更新されるが数分ズレている

自動更新設定を有効にしている場合に毎時00分ちょうどに更新されない事象についての説明記事となります。

背景

少し専門的な話になりますが、はじめに技術的な背景をお伝えします。

本アドオンはお客様のGoogle環境にインストールしてもらうことで利用ができるサービスとなっています。

そして、Googleの制限として「スプレッドシートに入れたアドオンが、定期実行(トリガー実行)を行えるのは、1時間に1回まで」という仕様があります。

そのため、毎時0分0秒に連携を実行しようとすると、まだ前回の実行から1時間経っていないと、エラーになってしまいます。

本アドオンでの開発方針

そのため、本アドオンでは連携を「1時間 1分ごと」に実行するようにしています。

このようにすることで、前回の実行から1時間経っていないというエラーを避けています。

GoogleDriveへのバックアップ機能を使うと、保存時間が1分ずつズレていることがわかります。

自動更新のスケジュール表

このような事情から、本アドオンでは自動更新のスケジュールは次のようになっています。

時間本アドオンで
更新される時間
午前0時0:20
午前1時1:21
午前2時2:22
午前3時更新なし
午前4時4:00
午前5時5:01
午前6時6:02
午前7時7:03
午前8時8:04
午前9時9:05
午前10時10:06
午前11時11:07
午前12時12:08
午後1時13:09
午後2時14:10
午後3時15:11
午後4時16:12
午後5時17:13
午後6時18:14
午後7時19:15
午後8時20:16
午後9時21:17
午後10時22:18
午後11時23:19

毎日AM3:00がシステムメンテナンス時間として同期対象外にしている理由

自動更新設定を選択する際に、「AM3:00はシステムメンテナンス時間になります」という表記があるように、午前3時台は自動更新が実行されません。

これは、もしこの時間も連携を実行してしまうと午前3時と午前4時の自動更新間が1時間未満になってしまい、Googleの制限上エラーになってしまうためです。

時間本アドオンで
更新される時間
午前2時2:22
午前3時更新なし
3:23
午前4時4:00

このズレによる問題例と対応方法

ここから以下は、このズレによる問題が起きやすいケースとその対策を記載します。

スプレッドシートを見た従業員が更新されたと勘違いしてしまう。

freeeと連携したスプレッドシートを他の従業員が確認するようになっていて、

その場合に時間がずれる仕様を知らずに誤解したまま確認してしまう、というケースです。

この場合は次のいずれかの形で対応いただければと思います。

頻度を上げる・少し前の時間にしておく

例えば、毎朝9時に銀行の明細を確認する業務がある場合を考えます。

「午前9時」でデータを更新する設定にしても、実際に本アドオンがデータを取得するのは「9:05」になります。もし、これを9:05までに確認してしまうと問題が起こる、という場合は

  • 連携頻度を毎時にする
  • 連携頻度を「午前8時」

にすることで、確認業務の開始前にはリアルタイムに近い状態を作れます。

シート名を変更する

連携設定を作成する際にシート名を指定できます。この時に例えば「銀行名(AM 9:05更新)」というような名前にすることで、作業をする方の誤解を防ぐ方法です。

注意点は、シートのセルの中にこのような更新時間の記載をしても、データ更新時にセルの内容が消えてしまうので意味がない点です。

そのため、シート名に更新時間を記載しておくことをおすすめします。

作業前に「現在のシートを即時更新」を実行する

もし、これらの対応でも難しい場合で、作業者が本アドオンのライセンス保有者の場合は、作業前にメニューの「現在のシートを即時更新」をクリックして最新の状態に更新します。

スプレッドシートから外部ツールに連携を行っているので困る

Zapierのような連携ツールを使って、スプレッドシートとfreee以外の別のサービスを連携するワークフローを作成していて、「毎時0時に更新されていると思ったらまだ更新されていなかった」という問題が起きるケースです。

この場合は、本アドオンは「毎時30分」には更新が確実にされている、と想定してワークフローを作成してください。前述のスケジュール表のとおり、毎時30分であれば※更新が完了しています。

※もし、1つのスプレッドシートに本アドオンを使って、大量のfreeeとの連携設定が作成されている場合は午前2:22に実行される連携が30分までに完了しない場合もあります。その場合はスプレッドシートを分けるか、さらに遅らせて毎時45分には更新がされている想定でワークフローを作成ください。