2

デフォルトのサービス GroupsManager と Group を使用して、ドメイン内のすべてのグループをスキャンし、グループに所有者がいないかどうかを確認し、その場合はデフォルトの所有者を設定しています。

ドメイン内のグループの数はほぼ 2000 で、これによりタイムアウトが発生します。各グループを処理するループ内で try/catch ステートメントを試しましたが、Google はタイムアウト時にスクリプトを強制終了します。

バッチでこれを行うことはできますが、タイムアウトが発生した後、実際にスクリプトを実行し続けるにはどうすればよいですか? または、実行時間を監視して、何らかのスリープを使用することになっていますか?

または、現実に直面して、タイムアウトごとにスクリプトを再起動する必要がありますか。

本当にこれに対する応答が必要です、ありがとう!

/ ドン・ペドロ

4

1 に答える 1

1

スクリプトをタイムアウトさせないでください。代わりに、タイマー トリガーを使用して、特定の時間間隔で一度に限られた数のアイテムを処理するようにしてください。

これは言うは易く行うは難し、と答える方もいらっしゃると思いますが、実際には非常にシンプルです。

  1. 約 3 分間でチェックできるグループの数を概算します (最大実行時間は 5 フィートですが、十分なマージンを維持することをお勧めします)。
  2. 処理されたグループをカウントし、このカウンター値をどこかに置きます...できればscriptPropertiesに入れます
  3. タイマー トリガーを 10 分ごとに設定して、記憶した番号でインデックス付けされたグループから関数を呼び出すようにします (トリガーはプログラムで設定して削除することも、スクリプト エディターのリソース メニューで手動で削除することもできます)。
  4. タスクの最後に達したときにタイマーを強制終了します (これも手動またはプログラムで)

これにより、開始するのに十分な兆候が得られることを願っています。

于 2013-02-06T15:33:50.533 に答える