像Django一样,在文件更改时重新启动Go的net / http服务器

时间:2014-01-29 00:27:08

标签: go httpserver martini

我正在尝试Martini,它在Go的基本net/http包中添加了一些不错的功能。

我想知道。我怎么能像Django一样,让服务器在源文件更改时重启?我知道如何监控文件,但我不确定如何在同一过程中重新触发服务器。

我猜测会再次触发http.ListenAndServe,但我觉得它已经不适合已经运行的实例。

我是否需要生成子进程/守护进程才能使其正常工作?

3 个答案:

答案 0 :(得分:12)

你可以尝试一下

Fresh是一个命令行工具,可以在每次保存Go或模板文件时构建和(重新)启动Web应用程序。

答案 1 :(得分:12)

也许你需要gin

由马提尼的创造者制作。

答案 2 :(得分:9)

您需要使用可以查看目录/文件并运行命令的外部工具。我建议使用Go本身写的reflex

(修改自述文件中的示例):

# Rerun make whenever a .go file changes
reflex -r '\.go$' ./mymartiniapp