话说用 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 开发者疾速构建本人的利用。
我的项目地址:https://github.com/goravel/goravel
文档地址:www.goravel.dev