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)
}
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 {
}
}