後臺任務

曹阿宇發表於2020-05-30

任務是編寫應用程式時經常需要的小指令碼。 這些任務可能包括為資料庫植入種子、解析日誌檔案,甚至解析釋出指令碼。 Buffalo 使用了 grift 包來簡化這些任務的編寫。

寫一個任務

任務必須都在 grifts 包中。一個簡單的任務看起來如下所示:

var _ = grift.Add("hello", func(c *grift.Context) error {
  fmt.Println("Hello!")
  return nil
})

任務生成器

$ buffalo g task foo:bar

--> grifts/bar.go
// grifts/bar.go
package grifts

import (
  . "github.com/markbates/grift/grift"
)

var _ = Namespace("foo", func() {

  Desc("bar", "TODO")
  Add("bar", func(c *Context) error {
    return nil
  })

})

列出可用的任務

$ buffalo task list

Available grifts
================
buffalo task middleware    # Prints out your middleware stack
buffalo task routes        # Print out all defined routes
buffalo task secret        # Generate a cryptographically secure secret key

執行任務

可以使用buffalo task 命令在開發過程中執行任務。

$ buffalo task hello

二進位制檔案執行任務

生成二進位制檔案後,可以使用 task 子命令執行這些任務:

$ myapp task hello
本作品採用《CC 協議》,轉載必須註明作者和本文連結

曹阿宇

相關文章