分享
  1. 首页
  2. 文章

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

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

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

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

用户登录

没有账号?注册
(追記) (追記ここまで)

今日阅读排行

    加载中
(追記) (追記ここまで)

一周阅读排行

    加载中

关注我

  • 扫码关注领全套学习资料 关注微信公众号
  • 加入 QQ 群:
    • 192706294(已满)
    • 731990104(已满)
    • 798786647(已满)
    • 729884609(已满)
    • 977810755(已满)
    • 815126783(已满)
    • 812540095(已满)
    • 1006366459(已满)
    • 692541889

  • 关注微信公众号
  • 加入微信群:liuxiaoyan-s,备注入群
  • 也欢迎加入知识星球 Go粉丝们(免费)

给该专栏投稿 写篇新文章

每篇文章有总共有 5 次投稿机会

收入到我管理的专栏 新建专栏