すべてはここにある。もしくはAPIでとってくる。

2025年06月03日

住所から国土地理院の緯度経度取得APIを使って、テーブルへ格納するバッチ処理がようやく終了した。全国550万件のデータに対して、およそ1か月かかった。まあ、10万件単位で実行するバッチで、さらにチャンクで分割したうえで、1件1秒スリープをいれて、途中からは都道府県単位のオプションをつけての実行にして、おわっていたら、続きからコマンドをたたくということを日課というか、1日に何回かをやるという日々がおわった。

人間というものははじめると終わりを求め、終わりを迎えると、なぜか寂しい。だからといってこんなことを何のためにやっていたのかと言えば、理論値550万秒の処理は、いったいどれくらいでおわるのか試したかったのである。1日というのは60秒x60分x24時間であるので、86400秒。計算上は63.6574074日。あれ2か月かかるやん。

            usleep(100000); // 0.1秒スリープ(API負荷抑制)

おお、1秒ではなくて、0.1秒で実施していたのだ。6.4日で終わる処理を1か月かけてしまったのである。

その理由は、次の通り。

最初メモリ確保が適切でなかった。

これは、実行時にメモリサイズを指定することで改善された。

php -d memory_limit=1524M artisan corporates:geocode-gsi

そして、緯度経度が取得できずにセットできなかった対象を、毎回処理してエラーを出すという、愚かな仕組みになっていたので、毎回コマンド再実行時は同じエラーを出すための時間となっていた。

北海道からはじまり、まあ、東京あたりまでくるときには、いいかげん、この最初の繰り返し表示される緯度経度が取得できませんでしたという、人生のエンドロールのような繰り返し文にいやけがさして、そうだ!都道府県オプションつけて実行できるようにしたら、この無駄な時間がいらなくなる。

php -d memory_limit=1524M artisan corporates:geocode-gsi --prefecture=千葉県

オプションは大事だよ。

コマンドの作り方は、オプションの指定の仕方が重要。

センスがわかるだろ。

最新のお知らせ

No Image
2025年11月27日
プログラミングにおけるAIの優位性と人間のだめなところ

プログラミングにおけるAIの優位性と人間のだめなところを...

thumb
2025年11月25日
JAZZを聴きながら

https://open.spotify.com/intl-ja/track/2UiXRej8Fdcc04DFL60...

thumb
2025年11月25日
GTSFエディタの開発

GTSFというのは、弾き語りをするときの楽譜を生成するためのテ...

thumb
2025年11月23日
人生史をヒヤリングするAIアプリケーション

手帳學プロジェクトの中で、人生史を作成する。本来は、現...

thumb
2025年11月22日
ギターコード(和音)の構成音とベース音

コード表を、ルート音とコードの種類、そして、ベース音を...

thumb
2025年11月17日
気をつけろ!AIを利用したシステム開発

AIを利用した開発をしていると、一番の気になるところはAPI...

No Image
2025年11月15日
GTSF:(Guitar Tab and Song Format)弾き語り用楽譜生成テキストフォーマット

GTSF(Guitar Tab and Song text Format)とは、ギターで弾き語...

thumb
2025年11月14日
プロトタイプ(試作)とPoC(概念実証)

プロトタイプ(Prototype)とは、「完成前に作る試作モデル...

thumb
2025年11月14日
見える化による安心感~最先端な要件定義

要件定義ってそんな簡単ではないです。 まずは見える化...

thumb
2025年11月14日
コミュニケーション

人間関係やチームでのコミュニケーション方法(伝え方・傾...