用 Golang 跑「队列任务」,也可以像 Laravel 一样简单

hwbrzzl · · 1557 次点击 · · 开始浏览    
这是一个创建于 的文章,其中的信息可能已经有所发展或是发生改变。

话说用 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>

有疑问加站长微信联系(非本文作者))

入群交流(和以上内容无关):加入Go大咖交流群,或添加微信:liuxiaoyan-s 备注:入群;或加QQ群:692541889

1557 次点击  
加入收藏 微博
暂无回复
添加一条新回复 (您需要 登录 后才能回复 没有账号 ?)
  • 请尽量让自己的回复能够对别人有帮助
  • 支持 Markdown 格式, **粗体**、~~删除线~~、`单行代码`
  • 支持 @ 本站用户;支持表情(输入 : 提示),见 Emoji cheat sheet
  • 图片支持拖拽、截图粘贴等方式上传