如何在golang应用程序中重新启动heroku服务器?

如何在golang应用程序中重新启动heroku服务器?,go,heroku,Go,Heroku,我正在尝试有条件地重新启动heroku服务器。所以我写了以下代码来重新启动heroku服务器 go func() { time.Sleep(10 * time.Second) cmd := exec.Command("heroku", "restart") b, err := cmd.CombinedOutput() if err != nil {

我正在尝试有条件地重新启动heroku服务器。所以我写了以下代码来重新启动heroku服务器

go func() {
            time.Sleep(10 * time.Second)

            cmd := exec.Command("heroku", "restart")
            b, err := cmd.CombinedOutput()
            if err != nil {
                log.Fatalf("\n======> error restarting server: %v", err)
            }
            fmt.Printf("\n======>  server restart response : %s", string(b))
        }()
但第一次成功重启时,从第二次开始,它就不会重启。是否有其他方法重新启动,或者我在这里做错了什么

go func() {
    t := time.NewTicker(time.Second * 10)

    for range t.C{
        cmd := exec.Command("sh", "-c","heroku restart")
        var outb, errb bytes.Buffer
        cmd.Stdout = &outb
        cmd.Stderr = &errb
        err := cmd.Run()
        if err != nil {
            log.Fatalf("\n======> error restarting server: %v", err)
        }
        fmt.Printf("\n======>  server restart response : %s, %s", outb.String(), errb.String())
    }
}()
检查


NewTicker返回一个新的Ticker,其中包含一个频道,该频道将发送带有duration参数指定的时段的时间。它调整间隔或滴答声以弥补接收速度慢的问题。持续时间d必须大于零;否则,纽蒂克就会惊慌失措。停止股票代码以释放相关资源

上面的代码只运行一次heroku命令。你是如何定时或定期给它打电话的?它是循环的吗?请发布更多的代码。需要更多详细信息这不是定期发布的。这段代码有条件地(在特定条件之后)调用。请让我知道,如果你需要更多的细节,但这里的主要问题是重新启动heroku优雅。heroku服务器未使用这些重新启动changes@ravindradevagiri当您在终端中手动运行heroku restart时,它是否按预期运行?