给力小青年|Go 每日一库之 jobrunner( 二 )


package mainimport ("fmt""html/template""os""time""github.com/bamzi/jobrunner""github.com/gin-gonic/gin")type GreetingJob struct {Name string}func (g GreetingJob) Run() {fmt.Println("Hello,", g.Name)}type EmailJob struct {Email string}func (e EmailJob) Run() {fmt.Println("Send,", e.Email)}func main() {r := gin.Default()jobrunner.Start()jobrunner.Every(5*time.Second, GreetingJob{Name: "dj"})jobrunner.Every(10*time.Second, EmailJob{Email: "935653229@qq.com"})r.GET("/jobrunner/json", JobJson)r.GET("/jobrunner/html", JobHtml)r.Run(":8888")}func JobJson(c *gin.Context) {c.JSON(200, jobrunner.StatusJson())}func JobHtml(c *gin.Context) {t, err := template.ParseFiles(os.Getenv("GOPATH") + "/src/github.com/bamzi/jobrunner/views/Status.html")if err != nil {c.JSON(400, "error")}t.Execute(c.Writer, jobrunner.StatusPage())}运行之后 , 在浏览器中输入http://localhost:8888/jobrunner/html查看任务状态:
给力小青年|Go 每日一库之 jobrunner这里显示任务名、任务 ID、状态、上次运行时间、下次运行时间以及处理延迟 。
我们还可以通过http://localhost:8888/jobrunner/json获取原始 JSON 格式的数据自己处理:
给力小青年|Go 每日一库之 jobrunner总结大家如果发现好玩、好用的 Go 语言库 , 欢迎到 Go 每日一库 GitHub 上提交 issue
参考

  1. jobrunner GitHub:
  2. Go 每日一库 GitHub:


推荐阅读