Advertisement
Awn_pastebin

rescueProcCode.gs

Mar 11th, 2015
203
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. function rescueProc() {
  2.   /***************************************************************************
  3.   主処理レスキュー処理
  4.   ****************************************************************************/
  5.   /*
  6.   関数の概要
  7.   :主処理の実行が失敗した時
  8.   :URLFetch処理の回数を減らし
  9.   :主処理を再実行する
  10.   */
  11.  
  12.   /*
  13.   処理実行の契機
  14.   :初期処理or主処理or主処理レスキュー処理に自動でスケジュールされ実行
  15.   */  
  16.  
  17.   //トリガーレコーダーに記録
  18.   var thisPROCNAME = "rescueProc";
  19.   var thisSTAT = "STARTED";
  20.   triggerRecorder(thisPROCNAME,thisSTAT);    
  21.  
  22.   //トリガー削除
  23.   deleteAllTriggers();
  24.    
  25.   //cr_eachSizeの更新
  26.   //・cr_eachSizeをpenalty分減らし、1トリガーで呼び出すURLFetchの量を少なくする。
  27.   var cr_eachSize      = PropertiesService.getScriptProperties().getProperty('sp_eachSize') - 0;
  28.   var penalty = 50; //主処理失敗時の減算量
  29.   cr_eachSize = Math.max(cr_eachSize - penalty,10);
  30.   PropertiesService.getScriptProperties().setProperty('sp_eachSize',cr_eachSize);
  31.  
  32.   //主処理を実行するトリガーをセットする
  33.   ScriptApp.newTrigger("mainProc")
  34.   .timeBased()
  35.   .after(1 * 60 * 1000)// 1分後に実行
  36.   .create();
  37.  
  38.   //主処理レスキュー処理を実行するトリガーをセットする
  39.   ScriptApp.newTrigger("rescueProc")
  40.   .timeBased()
  41.   .after(22 * 60 * 1000)//22分後に実行
  42.   .create();
  43.  
  44.   //トリガーレコーダーに記録
  45.   var thisSTAT = "ENDED";
  46.   triggerRecorder(thisPROCNAME,thisSTAT);    
  47.  
  48. } //END_OF_rescueProc
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement