0

Heroku で Rails アプリを実行しています。ここで、Rake タスク (私の Rails アプリのモデルを使用) を実行し、MaxMind GeoIP データベース ( http://www.maxmind.com/app/geolite ) を使用して各レコードにジオタグを付けたいと考えています。

Ruby アプリケーションでこのデータベースを使用するには、次の作業が必要です。

  1. C-API ( http://www.maxmind.com/app/c ) をビルドしてから
  2. そのための Ruby バインディングをビルドします ( http://www.maxmind.com/app/ruby )。

ローカル マシンでこれを行うと、IP アドレスから国コードを正常に取得できました。ただし、これらのライブラリを Heroku にインストールする方法がわかりません。私が理解していることから、ルビーバインディングはネイティブ拡張機能を備えた宝石として利用できません(herokuはうまく処理できたはずです)。また、彼らのC-APIには他にもいくつかの依存関係があるようで、そのようなことが可能かどうか疑問に思っています。

では、Heroku に MaxMind GeoIP (別名 Net::GeoIP) をインストールした人はいますか? はいの場合、どのように?

ローカル セットアップを本番 DB にポイントすることで、ラップトップから rake タスクを実行できました。その前に、待ち時間や接続の切断などを避けるために、Heroku セットアップ自体から実行できるかどうかを知りたいです。

4

1 に答える 1

0

MaxMind C-API をバンドルし、独自の Ruby API を提供する gem を見つけました。それはうまく動作します - http://rubygems.org/gems/geoip

これを答えとして暫定的に受け入れます。ただし、Heroku で Ruby にバイナリ拡張機能をインストールする方法を誰かが教えてくれれば、すばらしいことです。

于 2012-07-07T19:41:20.390 に答える