1

Google Apps Script プロジェクトを (Google サイト内に) 持っています。そのプロジェクトにはファイルがあります。そのファイルには functionA と functionB が含まれています。functionA は一連のファイルで動作し、functionB はまったく異なる一連のファイルで動作します。同時変更から保護するために、各関数は Lock サービスを使用して独自のパブリック ロックを取得します。各関数は、1 分ごとに実行されるようにトリガーされます。

FunctionB がロックされている間、FunctionA はロックを取得できないようです。

私の質問は、これは予想されることですか? もしそうなら、a) ドキュメントのリファレンスは何ですか? b) functionA と functionB を実際に同時に実行できるようにシステムを設計するにはどうすればよいですか? 関数を別のファイルまたは別のプロジェクトに移動する必要がありますか?

functionA のロックの目的は、functionA の複数の同時実行を停止することです。functionB についても同様です。functionA が functionB と同時に実行されるかどうかは気にしません。実際、ユーザーの観点から物事が高速に動作していると認識されるように、それらを同時に実行したいと考えています。

LockService のドキュメントを読みましたが、非常に限定されています。ロックの範囲は「コードのセクション」または「コードのセクション」であると書かれているだけです。

4

1 に答える 1

2

それは「プロジェクトごと」です。残念ながら、同じスクリプトに 2 つのロックを設定することはできません (別のユーザーであり、プライベート ロックを取得しない限り、これは当てはまりません)。

a) 私は API の設計者ではありませんが (私はトップ コントリビューターです)、それが設計によるものであると確信しています。リソースの制限により、おそらくこのように制限されました。

b) そのため、異なるロックを設定するには、別のスクリプト/プロジェクトを作成する必要があります。

于 2012-05-03T03:21:55.743 に答える