Golang服务器在Heroku上崩溃

时间:2016-06-15 07:15:52

标签: web-services heroku go

我在Heroku上运行我的Golang服务。非常奇怪的是,我在该服务中有一些似乎非常随机的小型hickup。该服务只是用Golang编写的,不与任何数据库,存储解决方案或缓存服务交互。

我已经联系了Heroku的支持,他们主要在dyno-restart期间暗示我发生这种情况。他们告诉我,虽然当dyno被回收时启用了预启动,但新的dyno即将启动并立即占用流量,然后关闭旧的dyno。因此,我认为可能中断来自Golang HTTP服务器的启动速度不够快?以下是我如何运行它:

s := &http.Server{
    Addr:           ":"+exposePort,
    Handler:        h,
    ReadTimeout:    time.Duration(timeout) * time.Second,
    WriteTimeout:   time.Duration(timeout) * time.Second,
}

err = s.ListenAndServe()
errs <- fmt.Errorf("Server error", err.Error())
if client != nil {
    client.CaptureMessage(err.Error())
}

go func() {
    c := make(chan os.Signal)
    signal.Notify(c, syscall.SIGINT)
    errs <- fmt.Errorf("%s", <-c)
}()

这是一个已知问题还是有人经历过类似的事情?真的很感激一些帮助!

0 个答案:

没有答案