空間線量率マップ
前に紹介した空間線量率マップは、ジオシティーズ上だったのでサーバ側の処理はなくて、手動で取得したデータを毎日アップロードしていた。これは面倒なのでもう更新をやめることにした。
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"); }