func shutdown(runner gin.Runner) { c := make(chan os.Signal, 2) signal.Notify(c, os.Interrupt, syscall.SIGTERM) go func() { s := <-c log.Println("Got signal: ", s) err := runner.Kill() if err != nil { log.Print("Error killing: ", err) } os.Exit(1) }() }
func build(builder gin.Builder, runner gin.Runner, logger *log.Logger) { err := builder.Build() if err != nil { buildError = err logger.Println("ERROR! Build failed.") fmt.Println(builder.Errors()) } else { // print success only if there were errors before if buildError != nil { logger.Println("Build Successful") } buildError = nil if immediate { runner.Run() } } time.Sleep(100 * time.Millisecond) }