2011-08-30 56 views
3

我的服务器托管在Heroku上。我的应用程序的数据源是我的应用程序的外部数据源。以下是获取数据的方法:连接到外部插座的Heroku上的进程

  1. 初始化连接到套接字@外部对象服务器的进程。
  2. 保存通过此套接字连接来的数据。

现在我的问题是,是否有可能在Heroku上启动这样的进程,它需要永久运行,在外部服务器上监听套接字?

回答

0

我认为这可能是您可以在heroku上运行的Node.js的一份工作。逻辑流程将通过node.js应用程序连接到派对服务器,然后在接收到数据时将触发“回调”方法。然后,该方法可以使用数据将Web请求发送回Rails服务器。

对于像这样的例子,检出pubnub node.js的示例应用程序:

https://github.com/pubnub/pubnub-api/tree/master/nodejs

1

在Heroku的一个过程只能听HTTP流量在端口80像安迪提到,Node.js的在Heroku上运行这样的服务是你最好的选择。

0

如果我正确理解你,你需要在连接到外部服务器的heroku上启动一个后台进程 - 这个过程然后从本地保存api中的数据?

访问外部服务: 我知道Heroku并不限制对外部主机或端口的访问。的确,我有一个应用程序连接到mongohq上的我的mongodb数据库。

长时间运行过程:这当然可以使用新的Celadon Cedar堆栈。新的雪松堆栈使用了一个名为Procfile的概念,它可以使任何脚本(例如ruby,bash,node.js)作为一个进程运行。

保存数据:Heroku的具有只读文件系统(除/ tmp目录),所以你需要保存从API来在数据库(或类似的地方)中的数据。