話說用 Golang 跑「隊(duì)列任務(wù)」需要幾步循榆?使用 Goravel ,四步不能再多了煤禽!
第一步:生成任務(wù)類
go run . artisan make:job HelloWorld
任務(wù)類結(jié)構(gòu)
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
}
第二步:注冊(cè)任務(wù)
注冊(cè)到 app/provides/queue_service_provider.go
func (receiver *QueueServiceProvider) Jobs() []queue.Job {
return []queue.Job{
&jobs.HelloWorld{},
}
}
第三步:啟動(dòng)隊(duì)列服務(wù)器
在根目錄下 main.go
中啟動(dòng)隊(duì)列服務(wù)器
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 {}
}
第四步:調(diào)度任務(wù)
err := facades.Queue.Job(&jobs.HelloWorld{}, []queue.Arg{}).Dispatch()
OK, Over. 更多功能詳見文檔,基本用法與 Laravel 保持一致振亮,小伙伴們開始愉快的搞事情吧巧还!
關(guān)于 Goravel
Goravel 是一個(gè)功能完備、具有良好擴(kuò)展能力的 Web 應(yīng)用程序框架坊秸。 作為一個(gè)起始腳手架幫助 Golang 開發(fā)者快速構(gòu)建自己的應(yīng)用麸祷。
項(xiàng)目地址:https://github.com/goravel/goravel
文檔地址:www.goravel.dev
golang橫-500.png