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 上安装这些库。据我了解,ruby 绑定不能作为具有本机扩展的 gem(heroku 可以很好地处理)。此外,他们的 C-API 似乎还有一些其他依赖项,这让我想知道这样的事情是否可能发生。

那么有人在 Heroku 上安装了 MaxMind GeoIP(又名 Net::GeoIP)吗?如果是怎么办?

通过将本地设置指向生产数据库,我可以从笔记本电脑运行 rake 任务。在此之前,我想知道是否可以从 Heroku 设置本身运行它以避免延迟或连接中断等。

4

1 回答 1

0

我找到了一个 gem,它捆绑了 MaxMind C-API 并提供了它自己的 Ruby API。它工作得很好 - http://rubygems.org/gems/geoip

我将暂时接受这个作为答案。但是,如果有人能告诉我如何在 Heroku 上为 Ruby 安装二进制扩展,那就太好了。

于 2012-07-07T19:41:20.390 回答