話說用 Golang 跑「佇列任務」需要幾步?使用 Goravel ,四步不能再多了!
第一步:生成任務類
go run . artisan make:job HelloWorld
任務類結構
package jobs
type HelloWorld struct {
}
//Signature The name and signature of the job.
func (receiver *HelloWorld) Signature() string {
return "process_podcast"
}
//Handle Execute the job.
func (receiver *HelloWorld) Handle(args ...interface{}) error {
return nil
}
第二步:註冊任務
註冊到 app/provides/queue_service_provider.go
func (receiver *QueueServiceProvider) Jobs() []queue.Job {
return []queue.Job{
&jobs.HelloWorld{},
}
}
第三步:啟動佇列伺服器
在根目錄下 main.go
中啟動佇列伺服器
package main
import (
"github.com/goravel/framework/support/facades"
"goravel/bootstrap"
)
func main() {
// This bootstraps the framework and gets it ready for use.
bootstrap.Boot()
// Start queue server by facades.Queue.
go facades.Queue.Worker(queue.Args{}).Run()
select {}
}
第四步:排程任務
err := facades.Queue.Job(&jobs.HelloWorld{}, []queue.Arg{}).Dispatch()
OK, Over. 更多功能詳見文件,基本用法與 Laravel 保持一致,小夥伴們開始愉快的搞事情吧!
關於 Goravel
Goravel 是一個功能完備、具有良好擴充套件能力的 Web 應用程式框架。 作為一個起始腳手架幫助 Golang 開發者快速構建自己的應用。
專案地址:github.com/goravel/goravel
文件地址:www.goravel.dev
本作品採用《CC 協議》,轉載必須註明作者和本文連結