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

时间:2018-01-21 21:28:38

标签: docker go timestamp

我想知道如何为时间戳添加时间。目的是能够获得当前时间戳,添加五分钟,然后显示新时间戳。我试图在五分钟后停止输出然后停止docker容器。我这样做是因为我正在运行一个永远不会在容器中停止的进程,我希望它在运行五分钟后停止。

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 个答案:

答案 0 :(得分:1)

这是另一个如何在Go中使用Timer的示例。你可以启动你的计时器。设置它time.Minute * 5然后运行您的长时间运行过程。当计时器滴答时发送退出信号退出程序。使用os.Exit()vs return是很重要的,因为return将退出gorountine而不是程序。

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 {

    }

}