現在gasを使用してwebアプリを作成しています。
完全独学なのですが、排他制御に関して分からない点がありまして投稿致しました。
構成としては1つのスプレッドシートに1つのindex.htmlを作成して、何ページかデータ入力フォームを作成し、さらに別のスプレッドシートをDB代わりに1つ用意し、入力フォームの内容をDB代わりのスプレッドシートに書き込んで行くという構成になっています。
スプレッドシート① | スプレッドシート② | スプレッドシート③ |
---|---|---|
入力フォーム① | 入力フォーム② | DB |
この時、gas側でsetvalueするときの関数にLockService.getDocumentLock()にてロックを掛ければいいなと思ったのですが、よく考えたらこのドキュメントロックはあくまでスプレッドシート①もしくはスプレッドシート②にロックがかかるだけで、肝心のDBスプレッドシートにはロックがかからないのではないかと思いました。なので、入力フォーム①と入力フォーム②の登録ボタンが同時に押されてしまった場合はsetuvalueの際に意図しない登録がされてしまう可能性があるので、例えばLockをかけるドキュメントをスプレッドシートIDなどで指定できないもんかと思って調べてたのですがいまいちわからずご質問させて頂きました。
つたない説明で申し訳ありませんが、なにか方法がありましたらアドバイスを頂けるとありがたいです。
なお、サイトの趣旨と合わないご質問でしたらその際は質問を取り下げますんでご指摘頂ければと思います。
宜しくお願い致します。
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。