2012-06-19 33 views
1

我有一个带有PostgreSQL数据库的Heroku应用程序。现在我想有一个独立的进程,可能在不同的机器上访问数据库。在Herkou网站上的建议实际上是我自己想做的事情:Heroku:在API中封装数据访问

No, connecting to your database from machines outside of Heroku is not supported. 
We recommend that you encapsulate data access in an API to manipulate it. 

但我不确定如何做到最好。我希望能够将一些JSON发送到API并根据该请求返回JSON。像“给我了为一堆给定的userIds过期的所有帖子”在示例应用微柱“更新所有用户进行,如果他们的帖子中包含的任何给定的话暂停”。

实现该目标的最佳方法是什么?我可以编写一个额外的可通过TCP访问的ruby程序并接受JSON输入吗? Heroku甚至有可能吗?或者我必须以某种方式将API集成到我的Rails应用程序中?怎么样?

任何想法

感恩, 汤姆

回答

1

您必须将API集成到你的Rails应用程序,有许多解决方案,对于这一点,其中之一是使用专门的API建筑像Grape并安装它的工具与您的Rails应用程序。通过这种方式,您可以运行Rails应用程序,并且还可以共享相同的代码库。

+0

谢谢队友,我会检查一下。我本来希望有一个独立的API,但我想这对Heroku来说是不可能的。 – EasierSaidThanDone

+0

独立API是什么意思?一个葡萄的应用程序将安装在您的导轨应用程序的单独路径中,它们不会相互冲突,甚至可以共享您的模型。 –

+0

我希望它尽可能的精益,尽可能没有任何铁轨开销。像普通的TCP调用一个可以访问Heroku DB的ruby应用程序,但只给调用者提供了有限的选项。我不需要分享模型。这个想法是返回普通数据,如整数值列表。客户端是一个节点应用程序,它不知道复杂的模型,但只能快速计算和分配结果。我会对基准感兴趣... – EasierSaidThanDone