静的な画面とGASの受付処理を分ける
- 本章の論点(Question)
- 受付の成功と、メール通知の成功をどう区別しますか。
- 本章の命題(Assertion)
- 受付データの保存を成功条件にし、メール通知を別処理として扱うと、障害時の状態を説明しやすくなります。
更新日:
受付データの保存を成功条件にし、メール通知を別処理として扱うと、障害時の状態を説明しやすくなります。
処理の担当を分ける
当サイトのHTMLは問い合わせ画面を表示し、入力をGASへ送ります。受付内容はGoogleスプレッドシートへ保存し、メール通知はGoogleのサービスで行います。公開Webサーバーで受付本文を保存する構成にはしていません。
保存と通知は同じ成功ではない
受付番号は保存結果を確認するために使います。メールが届かないだけで、保存まで失敗したとは限りません。一方、通信が切れるなど、ブラウザから保存結果を確認できない場合もあります。その場合は成功と断定せず、同じ受付キーで再試行する設計にします。
重複判定、排他制御、入力検証、送信回数の制限は、誤操作や濫用のリスクを減らします。あらゆる障害や不正利用を防ぎ切る保証ではありません。
外部サービスの上限も運用に含める
GASやメールには割り当て、実行時間、障害の可能性があります。通知の再試行が止まる場合に備え、未通知データを確認する手順も必要です。
保存期間の設定、期限を過ぎたデータの点検、削除の承認と実行は分けます。削除用の関数が存在するだけで、定期削除が実際に動いているとは扱いません。
参考資料
考え方や情報基盤の設計を組織へ導入する講演・研修も承っています。ホワイトペーパー目次・講演・研修・お問い合わせ
