在heroku dyno中从节点到python进行http调用

我已经inheritance了包含NodeJS部分和Python部分的存储库。 项目结构是这样的:NodeJS位于存储库的根目录,Python片段位于Python文件夹中:

root |- app |- some.js |- files.js |- Python |- other.py |- files.py 

我已经build立了一个Heroku dyno服务于一个Python服务器和一个NodeJS服务器,通过在我的Procfile中完成这个工作(基于这篇较老的文章 ):

 web: npm start python: sh -c 'cd ./Python/ && export PYTHONPATH=. && python other.py' 

Python项目设置为使用端口2001.这是一个瓶子的应用程序,并启动服务器,我通过这个端口(从Heroku设置采取)。

在我的日志中,我可以看到两个都成功启动。 简化:

 Bottle v0.12.13 server starting up (using WaitressServer())... Listening on http://localhost:2001/ Server running at: http://<guid>:7667 

当我请求我的应用程序的根时,我收到来自NodeJS服务器的回复。 但是,对于某些路由,我想调用Python部分。 我已经成功完成了本地,通过使用节点的http 。 但是,在Heroku上执行此操作时,我收到以下错误:

 connect ECONNREFUSED 127.0.0.1:2001 

当我在Heroku本地运行这个项目时(通过CLI工具heroku local ),它完美的工作。 任何想法,我怎么能得到这个工作?

终于find了。 Dynos无法通过HTTP相互通信,只能通过队列进行通信。 我不能再在文档中find它,但是他们在某处说明了它。

所以我改变了我的Procfile只运行一个dynamic:

 web: npm start & sh -c 'cd ./Python/ && export PYTHONPATH=. && python other.py' 

现在我可以打电话给127.0.0.1:2001没有任何问题。