Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- function initProc() {
- /***************************************************************************
- 初期処理
- ****************************************************************************/
- /*
- 処理の概要
- :各変数を初期化
- :統計くんからkeyを取り出し
- :一時領域にkeyを保存する
- */
- /*
- 処理実行の契機
- :最初の1回 → 手動実行または手動でスケジュールして実行
- :最初の1回以降 → 終了処理に自動でスケジュールされ実行
- */
- /*******************************************************
- 各種値の取得・初期化
- ********************************************************/
- //プロパティの初期化
- setInitProp();
- //トリガーレコーダーに記録
- var thisPROCNAME = "initProc";
- var thisSTAT = "STARTED";
- triggerRecorder(thisPROCNAME,thisSTAT);
- //前日の日付を取得する
- var date = new Date();
- date.setDate(date.getDate() - 1);
- var cr_ymd = date.getFullYear() + '-' + ( '0' + ( date.getMonth() + 1 ) ).slice(-2) + '-' + ( '0' + date.getDate() ).slice(-2);
- //日付をプロパティに格納する
- PropertiesService.getScriptProperties().setProperty('sp_ymd',cr_ymd);
- //掲示板名を取得する
- var cr_bbsName = PropertiesService.getScriptProperties().getProperty('sp_bbsName');
- /*******************************************************
- 統計くんから指定した掲示板のキーを取得する
- ********************************************************/
- //統計君からキーを取得する
- var cr_toukeiArray = getToukei(cr_ymd,cr_bbsName);
- var cr_toukeiArrayLength = cr_toukeiArray.length;
- //キーの個数をプロパティに格納する
- PropertiesService.getScriptProperties().setProperty('sp_datListLength',cr_toukeiArrayLength - 0);
- /*******************************************************
- キーを一時領域に退避する
- ********************************************************/
- //一時領域をアクティブにする
- var ss_key = PropertiesService.getScriptProperties().getProperty('sp_ss_key');
- var ss = SpreadsheetApp.openById(ss_key);
- var sheet = ss.setActiveSheet(ss.getSheetByName("key"));
- //一時領域をクリアする
- sheet.clear();
- //一時領域にキーを格納する
- sheet.getRange(1,1,cr_toukeiArrayLength,1).setValues(cr_toukeiArray);
- /*******************************************************
- resシートのデータ削除
- ********************************************************/
- //resシートをアクティブにする
- var sheet = ss.setActiveSheet(ss.getSheetByName("res"));
- var res_lastrow = sheet.getLastRow();
- var res_lastcolumn = sheet.getLastColumn();
- //Google Spreadsheetは1つのspreadsheetにつき200万セルしか利用できないことから
- //res_lastrow * res_lastcolumn が 設定したMAX_CELL より大きかったら
- //resシートをクリアする
- var MAX_CELL = 1000000;//100万セル
- if( res_lastrow * res_lastcolumn > MAX_CELL ){
- sheet.clear();
- }
- /*******************************************************
- トリガーを設定する
- ********************************************************/
- Logger.log("初期処理終了");
- Logger.log("主処理へ");
- //主処理を実行するトリガーをセットする
- 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_initProc
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement