-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathtrigger.gs
47 lines (39 loc) · 1.19 KB
/
trigger.gs
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
function execTrigger(){
delTrigger();
setTrigger();
}
/**
備考:ScriptAppは過去日にTriggerを設定できない。なので、過去日に値をsetしようとすると現在日に補正される。
*/
function setTrigger(){
var setTime = new Date();
var nowTime = setTime;
var hour = setTime.getHours() + 1;
var minutes = 1;
setTime.setHours(hour);
setTime.setMinutes(minutes);
// 自トリガーを設定しなおすため、ここで設定する。
ScriptApp.newTrigger('execTrigger').timeBased().at(setTime).create();
if (!isSetableTime(nowTime)) {
return;
}
setTime.setMinutes(minutes - 1);
ScriptApp.newTrigger('getImageToLine').timeBased().at(setTime).create();
}
function delTrigger() {
var triggers = ScriptApp.getProjectTriggers();
for(var i=0; i < triggers.length; i++) {
var triggerFunction = triggers[i].getHandlerFunction();
if (triggerFunction == "execTrigger" || triggerFunction == "getImageToLine") {
ScriptApp.deleteTrigger(triggers[i]);
}
}
}
function isSetableTime(date){
var hour = date.getHours();
// 6-23時の間動くようにする。
if (hour < 6 || 23 < hour) {
return false;
}
return true;
}