【问题标题】:Heroku: Get localhost net::ERR_CONNECTION_REFUSED when app deployedHeroku:部署应用程序时获取 localhost net::ERR_CONNECTION_REFUSED
【发布时间】:2019-04-27 03:28:02
【问题描述】:

我正在运行一个app.py,它有两个线程,一个用于仪表板应用程序,另一个用于HTTPServer

app = dash.Dash(__name__)
app.layout = html.Div( ... )
@app.callback( ... )
def do_something( ... ): ...

if __name__ == '__main__':
    httpd = HTTPServer(('localhost', 8000), SimpleHTTPRequestHandler)
    t1 = threading.Thread(target=httpd.serve_forever)
    t2 = threading.Thread(target=app.run_server, kwargs={'debug': False})
    t1.start()
    t2.start()

运行HTTPServer的原因是检索带有url'localhost:8000/audios/%s.wav' % clicked_index的本地文件,并将url用作srchtml.Audio。特别是,我在本地audios/ 中有.wav 文件,callback 启用悬停并触发音频播放。

它在本地使用python app.py 运行没有问题,但它不在部署的应用程序上 - 悬停仅触发部分音频。在屏幕截图中,带有悬停信息Piano 的数据点正确播放音频,但我们可以在右下角看到ERR_CONNECTION_REFUSED 其他不播放音频的'localhost:8000/audios/%s.wav' % clicked_index。这不会在本地发生。

当我检查带有heroku run bash --app myapp 的文件时,所有的wav 文件都在audios/ 中。

如果我在本地运行python -m http.server 8000,部署的应用程序运行没有问题;没有丢失的音频播放。

感谢任何在我刚刚开始的主题上启发我的人。

【问题讨论】:

    标签: multithreading heroku flask httpserver plotly-dash


    【解决方案1】:

    根据https://devcenter.heroku.com/articles/s3的说法,Heroku似乎无法托管静态文件,s3公共bucket满足了我的需求。

    【讨论】:

      猜你喜欢
      • 2022-07-15
      • 1970-01-01
      • 2019-05-18
      • 2016-10-20
      • 1970-01-01
      • 2018-06-25
      • 2020-04-23
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多