かわろぐ

ITビジネス、ガジェット、メディア、経済、子育て、遊び、飯とかなんでも配信していくよ。WordPress関連の記事はメモ感覚で書いてるので、乱文で失礼仕り候。ガジェ通とかにも記事提供してるので、よろしくね!

Google Apps ScriptsでCronっぽい定期実行をする

2015/07/31

LINEで送る
Pocket

eyecatch5

Google Apps ScriptsはCron機能が無いレンタルサーバとかでもCron的なことが出来るのでとっても便利なんだけど、標準機能のトリガーだけだと細かい設定が出来ないのがちょっと難点。

例えば、「土日を除く、○時から○時までの間、10分間隔で実行したい」とか、こんなことがやりたい場合、既存のトリガー機能だけだと、ちょっとめんどくさい。

「Apps Scriptsって条件分岐とか曜日取得とかできるのかなぁ」って思ってJS書いてみたら普通に通った。さすが天下のGoogle様。抜かり無くてヤバイ。

単純にgetDayやgetHoursで現在時刻とかを引っ張ってきて、ifとelseとかで切り分ければOK。ちなみにgetDayの曜日は日曜が「0」で、月曜が「1」のように0~6までの数字になる。

function Atk() {
	var w = (new Date()).getDay();
	var h = (new Date()).getHours();
	if(w == 0){ // 日曜日
		//no result
	}else if(w == 6){ // 土曜日
		//no result
	}else{ // 平日
		UrlFetchApp.fetch("http://example.com/");
	}
}

 

さらに時間も指定する(日本語解説版)

//function トリガー名() {
function Atk() {

	// 「w」は今日の曜日だよ
	var w = (new Date()).getDay();

	// 「h」は今の時間だよ
	var h = (new Date()).getHours();

	if(w == 0){ // もし「w」が0(日曜日)だったら
		// 何も実行しないよ

	}else if(w == 6){ // もし「w」が6(土曜日)だったら
		// 何も実行しないよ

	}else{ // その他の1~5(平日)だったら

		if((h >= 0) && (h < 3)){ // もし「h」が0~3(0時から3時までの間)だったら
			// http://example.com/にアクセスしてね
			UrlFetchApp.fetch("http://example.com/");
		}
	}
}

 

あとはこれを自分の好きな間隔でトリガーを設定すればOK。
Googleって凄いなー。。。

 

LINEで送る
Pocket

-仕事
-, ,