话说用 Golang 跑「队列任务」需要几步?使用 [Goravel](https://github.com/goravel/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](https://github.com/goravel/goravel "https://github.com/goravel/goravel")
文档地址:[www.goravel.dev](https://www.goravel.dev "www.goravel.dev")
<p align="center"><img src="https://cdn.learnku.com/uploads/images/202112/16/29432/0DkNTwOZmj.png!large" width="300"></p>
有疑问加站长微信联系(非本文作者))