2012-05-03 3 views
1

私はGoogle Apps Script ProjectをGoogleサイトに持っています。そのプロジェクトにはファイルがあります。そのファイルにはfunctionAとfunctionBが含まれています。 functionAは一連のファイルに対して動作し、functionBは完全に異なるファイルのセットに対して動作します。同時変更から保護するために、各関数はLockサービスを使用して、独自のパブリック・ロックを取得します。各機能は1分ごとに実行されます。関数、ファイル、またはプロジェクトのパブリック・ロックの有効範囲は何ですか?

私はFunctionAがロックを取得できないようですが、FunctionBはロックを持っているようです。

私の質問は、これは期待ですか? a)ドキュメントの参照は何ですか?b)functionAとfunctionBを同時に実行できるようにシステムを設計するにはどうすればよいですか?機能を別々のファイルに、あるいは異なるプロジェクトに移動する必要がありますか?

functionAのロックの目的は、functionAの複数の同時実行を停止することです。 functionBと同様です。 functionAがfunctionBと同時に実行されるかどうかは気にしません。実際には、それらを同時に実行して、ユーザーの視点からすばやく動作するように認識しています。

私はthe LockService docを読みましたが、極端に制限されています。つまり、ロックの範囲は「コードセクション」または「コードセクション」だけです。

答えて

1

"プロジェクトごとに"です。残念ながら、同じスクリプトに対して2つのロックを設定することはできません(異なるユーザーではありません)。 )しかし、私はかなりそれが設計であると確信しています。リソース制限のためにおそらくこの方法で制限されていました。

b)したがって、異なるスクリプト/プロジェクトを作成して、異なるロックを設定する必要があります。