前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >用 Golang 跑「队列任务」,也可以像 Laravel 一样简单

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

原创
作者头像
韩同学的简单逻辑
发布2022-05-25 21:27:49
7480
发布2022-05-25 21:27:49
举报
文章被收录于专栏:GoravelGoravel

话说用 Golang 跑「队列任务」需要几步?使用 Goravel ,四步不能再多了!

第一步:生成任务类

代码语言:txt
复制
go run . artisan make:job HelloWorld

任务类结构

代码语言:txt
复制
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

代码语言:txt
复制
func (receiver *QueueServiceProvider) Jobs() []queue.Job {
  return []queue.Job{
    &jobs.HelloWorld{},
  }
}

第三步:启动队列服务器

在根目录下 main.go 中启动队列服务器

代码语言:txt
复制
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 {}
}

第四步:调度任务

代码语言:txt
复制
err := facades.Queue.Job(&jobs.HelloWorld{}, []queue.Arg{}).Dispatch()

OK, Over. 更多功能详见文档,基本用法与 Laravel 保持一致,小伙伴们开始愉快的搞事情吧!

关于 Goravel

Goravel 是一个功能完备、具有良好扩展能力的 Web 应用程序框架。 作为一个起始脚手架帮助 Golang 开发者快速构建自己的应用。

项目地址:https://github.com/goravel/goravel

文档地址:www.goravel.dev

golang横-500.png
golang横-500.png

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 第一步:生成任务类
  • 第二步:注册任务
  • 第三步:启动队列服务器
  • 第四步:调度任务
  • 关于 Goravel
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
http://www.vxiaotou.com