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 {
    
        }
    
    }
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论

报告相同问题?

悬赏问题

  • ¥15 unity从3D升级到urp管线,打包ab包后,材质全部变紫色
  • ¥50 comsol温度场仿真无法模拟微米级激光光斑
  • ¥15 上传图片时提交的存储类型
  • ¥15 Ubuntu开机显示器只显示kernel,是没操作系统(相关搜索:显卡驱动)
  • ¥15 VB.NET如何绘制倾斜的椭圆
  • ¥15 arbotix没有/cmd_vel话题
  • ¥15 odoo17的分包重新供应路线如何设置?可从销售订单中实时直接触发采购订单或相关单据
  • ¥15 用C语言怎么判断字符串的输入是否符合设定?
  • ¥15 通信专业本科生论文选这两个哪个方向好研究呀
  • ¥50 我在一个购物网站的排队系统排队,这个排队到号后重新定向到目标网站进行购物,但是有技术牛通过技术方法直接跳过排队系统进入目标网址购物,有没有什么软件或者脚本可以用