我有一个在 heroku 上运行的 Rails 应用程序。现在我想运行一个 rake 任务(它使用我的 rails 应用程序的模型)并使用 MaxMind GeoIP 数据库(http://www.maxmind.com/app/geolite)对每条记录进行地理标记。
在 Ruby 应用程序中使用此数据库涉及:
- 构建它的 C-API ( http://www.maxmind.com/app/c ) 然后
- 为此构建 Ruby 绑定 ( http://www.maxmind.com/app/ruby )。
我可以在我的本地机器上执行此操作,并成功地从 IP 地址获取国家代码。但是我不知道如何在 Heroku 上安装这些库。据我了解,ruby 绑定不能作为具有本机扩展的 gem(heroku 可以很好地处理)。此外,他们的 C-API 似乎还有一些其他依赖项,这让我想知道这样的事情是否可能发生。
那么有人在 Heroku 上安装了 MaxMind GeoIP(又名 Net::GeoIP)吗?如果是怎么办?
通过将本地设置指向生产数据库,我可以从笔记本电脑运行 rake 任务。在此之前,我想知道是否可以从 Heroku 设置本身运行它以避免延迟或连接中断等。