PeterYang1996
V2EX  ›  程序员

写了个命令行的脚手架,感觉还挺好使

By PeterYang1996 at 2022 年 5 月 18 日 · 2131 次点击

gostage

gostage 是一个快速搭建常驻服务的命令行脚手架。

安装

go get github.com/PeterYangs/gostage

快速开始

编写一个每秒往一个文件中写入一行文本的服务

package main
import (
	"context"
	"fmt"
	"github.com/PeterYangs/gostage"
	"os"
	"time"
)
func main() {
	g := gostage.NewStage(context.Background())
	//绑定主服务逻辑
	g.StartFunc(func(st *gostage.Stage) error {
		//打开文件
		file, err := os.OpenFile("word.txt", os.O_CREATE|os.O_RDWR, 0644)
		if err != nil {
			return err
		}
		//计数
		index := 0
		defer file.Close()
		for {
			select {
			case <-st.GetCxt().Done():
				return nil
			default:
				//打印计数到终端
				fmt.Println(index)
				//每秒写入一行文本
				time.Sleep(1 * time.Second)
				file.Write([]byte("word\n"))
				index++
			}
		}
	})
	err := g.Run()
	if err != nil {
		fmt.Println(err)
	}
}

启动

go run stage.go 或 go run stage.go start

守护进程

go  go run stage.go start -d

停止

go run stage.go stop

帮助

go run stage.go help

地址: https://github.com/PeterYangs/gostage

1 条回复
lesismal
   1
lesismal  
   2022 年 5 月 18 日
读君一段 go ,似读一段 go
• 请不要在回答技术问题时复制粘贴 AI 生成的内容
© 2026 V2EX · 102ms · 3.9.8.5