dongyu2047 2018-01-21 21:28
浏览 1409
已采纳

如何在Golang的时间戳中添加五分钟?

I am wondering how to add time to a timestamp. The intention is to be able to get the current timestamp, add five minutes to it, then show the new one. I am trying to stop the output after five minutes then stop the docker container. I am doing this because I am running a process that never stops in the container and I want it to stop after five minutes of running.

out, err := cli.ContainerLogs(ctx, resp.ID, types.ContainerLogsOptions{ShowStdout: true, ShowStderr: true, Follow: true, Until: /* Code Here */})
if err != nil {
    panic(err)
}

io.Copy(os.Stdout, out)

if err := cli.ContainerStop(ctx, resp.ID, nil); err != nil {
    panic(err)
}
  • 写回答

1条回答 默认 最新

  • doulei3488 2018-01-21 21:48
    关注

    Here's another example of how to use a Timer in Go. You could spin up your timer. Set it time.Minute * 5 then run your long running process. When the timer ticks send the quit signal to exit the program. It's important to use os.Exit() vs return as return will exit the gorountine not the program.

    package main
    
    import (
        "fmt"
        "os"
        "time"
    )
    
    func main() {
        timer := time.NewTimer(time.Second)
        go func() {
            <-timer.C
            fmt.Println("Quiting")
            os.Exit(0)
        }()
    
        // long running proccess
        for {
    
        }
    
    }
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论

报告相同问题?