Closed t-uekawa-n closed 1 week ago
現在時刻の取得で、SQLのNOW()関数を使用していたことが原因。
現在時刻 + インターバルと次回実行日付を比較するロジックで、前者はDBのタイムゾーン、後者はシステムのタイムゾーンを使用しているため、整合性が取れなくなる。
例:対象レコードが以下の場合
現在時刻の取得は、SQLのNOW()関数を使用せずに、システムの時刻を使うように統一
事象
原因
現在時刻の取得で、SQLのNOW()関数を使用していたことが原因。
現在時刻 + インターバルと次回実行日付を比較するロジックで、前者はDBのタイムゾーン、後者はシステムのタイムゾーンを使用しているため、整合性が取れなくなる。
例:対象レコードが以下の場合
対応
現在時刻の取得は、SQLのNOW()関数を使用せずに、システムの時刻を使うように統一