登录
首页 >  Golang >  Go问答

如果Go Web服务器停止,如何自动重新启动

来源:stackoverflow

时间:2024-04-10 14:00:34 126浏览 收藏

积累知识,胜过积蓄金银!毕竟在Golang开发的过程中,会遇到各种各样的问题,往往都是一些细节知识点还没有掌握好而导致的,因此基础知识点的积累是很重要的。下面本文《如果Go Web服务器停止,如何自动重新启动》,就带大家讲解一下知识点,若是你对本文感兴趣,或者是想搞懂其中某个知识点,就请你继续往下看吧~

问题内容

我尝试应用一种机制,允许 go web 服务器在停止时自动重新启动。

我的做法是,将 server.listenandserve() 放入无限循环中。由于 .listenandserve() 被阻塞,我觉得这样做是可以的。完整代码如下:

func main() {
    // ...

    isstarted := false
    for true {
        if isstarted {
            fmt.println("===================================== restarting web server")
        }

        log.println(server.listenandserve())
        isstarted = true

        time.sleep(1 * time.second)
    }
}

当我运行该应用程序时,发生的情况与我的预期完全不同。 web 服务器将无法启动。

我做错了吗?或者有什么更好更正确的方法吗?预先感谢您

===================================== RESTARTING WEB SERVER
2019/03/13 10:01:03 http: Server closed
===================================== RESTARTING WEB SERVER
2019/03/13 10:01:04 http: Server closed
===================================== RESTARTING WEB SERVER
2019/03/13 10:01:05 http: Server closed
===================================== RESTARTING WEB SERVER
2019/03/13 10:01:06 http: Server closed
===================================== RESTARTING WEB SERVER
2019/03/13 10:01:07 http: Server closed
===================================== RESTARTING WEB SERVER
2019/03/13 10:01:08 http: Server closed
===================================== RESTARTING WEB SERVER
2019/03/13 10:01:09 http: Server closed
===================================== RESTARTING WEB SERVER
2019/03/13 10:01:10 http: Server closed
===================================== RESTARTING WEB SERVER
2019/03/13 10:01:11 http: Server closed
===================================== RESTARTING WEB SERVER
2019/03/13 10:01:12 http: Server closed
===================================== RESTARTING WEB SERVER
2019/03/13 10:01:13 http: Server closed
===================================== RESTARTING WEB SERVER
2019/03/13 10:01:14 http: Server closed

解决方案


您需要一个过程控制系统。这允许您运行和控制多个进程。

例如:Systemd、Supervisord

Supervisord 是一个不错的选择。

阅读 http://supervisord.org/ 上的文档

文中关于的知识介绍,希望对你的学习有所帮助!若是受益匪浅,那就动动鼠标收藏这篇《如果Go Web服务器停止,如何自动重新启动》文章吧,也可关注golang学习网公众号了解相关技术文章。

声明:本文转载于:stackoverflow 如有侵犯,请联系study_golang@163.com删除
相关阅读
更多>
最新阅读
更多>
课程推荐
更多>