Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- function rescueProc() {
- /***************************************************************************
- 主処理レスキュー処理
- ****************************************************************************/
- /*
- 関数の概要
- :主処理の実行が失敗した時
- :URLFetch処理の回数を減らし
- :主処理を再実行する
- */
- /*
- 処理実行の契機
- :初期処理or主処理or主処理レスキュー処理に自動でスケジュールされ実行
- */
- //トリガーレコーダーに記録
- var thisPROCNAME = "rescueProc";
- var thisSTAT = "STARTED";
- triggerRecorder(thisPROCNAME,thisSTAT);
- //トリガー削除
- deleteAllTriggers();
- //cr_eachSizeの更新
- //・cr_eachSizeをpenalty分減らし、1トリガーで呼び出すURLFetchの量を少なくする。
- var cr_eachSize = PropertiesService.getScriptProperties().getProperty('sp_eachSize') - 0;
- var penalty = 50; //主処理失敗時の減算量
- cr_eachSize = Math.max(cr_eachSize - penalty,10);
- PropertiesService.getScriptProperties().setProperty('sp_eachSize',cr_eachSize);
- //主処理を実行するトリガーをセットする
- ScriptApp.newTrigger("mainProc")
- .timeBased()
- .after(1 * 60 * 1000)// 1分後に実行
- .create();
- //主処理レスキュー処理を実行するトリガーをセットする
- ScriptApp.newTrigger("rescueProc")
- .timeBased()
- .after(22 * 60 * 1000)//22分後に実行
- .create();
- //トリガーレコーダーに記録
- var thisSTAT = "ENDED";
- triggerRecorder(thisPROCNAME,thisSTAT);
- } //END_OF_rescueProc
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement