空間線量率マップ

前に紹介した空間線量率マップは、ジオシティーズ上だったのでサーバ側の処理はなくて、手動で取得したデータを毎日アップロードしていた。これは面倒なのでもう更新をやめることにした。
GAE上に全く同じものを作っていて、こちらはGAEのCronによるタスク処理を使って、定期的にデータを取得している。
http://radxmap.appspot.com/

更新時刻は 2:14から18:14までの間を二時間毎に設定。
しかし、文科省のサイトのデータ取得に失敗して更新されない場合も多い。これは、文科省のサイトが重いので、一個のページの取得に10秒以上かかってTimeoutになってしまうためである。GAEの制限で、Timeout時間を10秒より大きくすることはできないので、これはどうすることもできない。

private static final double TIMEOUT = 10.0;

public static String getURLContent(String surl) throws IOException {
	URL url = new URL(surl);
	HTTPRequest req = new HTTPRequest(url, HTTPMethod.GET, withDeadline(TIMEOUT));
	URLFetchService ufs = URLFetchServiceFactory.getURLFetchService();
	HTTPResponse res = ufs.fetch(req);
	byte bs[] = res.getContent();
		
	return new String(bs, "UTF-8");
}