go - 需要帮助从 Go 消费者将数据排入 Redis 队列

标签 go redis enqueue

我正在尝试从我的 Go Consumer 将数据推送到 redis 队列中。

我使用的包是 "github.com/kavu/go-resque"

我使用的redis驱动是 “github.com/kavu/go-resque/go-redis” "github.com/go-redis/redis"

我的代码如下所示:

"github.com/kavu/go-resque"
_"github.com/kavu/go-resque/go-redis"
"github.com/go-redis/redis"
 "time"
 "strings"


 redisClient := redis.NewClient(&redis.Options{
    Addr:        myRedisIp,
    Password:    "", // no password set
    DB:          0,  // use default DB
    DialTimeout: 10 * time.Second,
})


  enqueuer := resque.NewRedisEnqueuer("go-redis", redisClient,"test-redis") 
_, err := enqueuer.Enqueue("resque:queue:myQueueName", "Demo::Job", 1, 2, "test")
  if err != nil {
    fmt.Println("putting into queue failed error="+err.Error())
  }else{
     fmt.Println("putting into queue success")
  }

最佳答案

我终于能够实现这一点。分享步骤:

  • 安装包
    Resque 包 : "github.com/kavu/go-resque"此外,安装驱动程序包,即您希望 resque 使用的 redis 包。
    有多种选择,例如:Go-redis、Godis、hoisie、redisGo 等
    就我而言,我是 Go-Redis .
    所以,我安装了
    "github.com/kavu/go-resque/go-redis""github.com/go-redis/redis"
  • 然后设置redis客户端
    rc := redisQueue.New("Your redis server IP")
  • 设置 resque 结构
    enqueuer := resque.NewRedisEnqueuer("redis-go", rc,"resque:")

  • 这里,第一个参数是驱动程序名称,如 godis、redis-go 等。第二个参数是 redis 客户端,即 Go-redis 客户端或 godis 客户端等。第三个参数是命名空间。这就是您要在 queueName 中附加的内容。
  • 然后将数据包排入队列
    NumPacketsInQueue, err = enqueuer.Enqueue(queueName,"",args1,args2...)

  • 上面代码行中的第二个空参数是作业类。我将其保留为空。

    在这里,最终的队列名称将是 resque:queue:queueName

    链接:
  • github.com/kavu/go-resque
  • https://github.com/kavu/go-resque/blob/master/go-redis/driver.go
  • Godis and Go Resque
  • 关于go - 需要帮助从 Go 消费者将数据排入 Redis 队列,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/61773270/

    相关文章:

    go - 404响应后继续循环

    file - 写入文件然后立即读回

    redis - 如何在 ElasticBeanstalk 上安装和配置 Redis

    javascript - node.js/socket.io 消失变量

    css - Wordpress - 在所有其他样式或某些样式之后排队样式

    http - 静态资源的基本身份验证

    对 JetBrains GoLand 的 golint 支持

    ruby-on-rails - 可以隐藏或过滤从 sidekiq 作业传递到 Redis 的参数吗?

    javascript - 如何在 WordPress `functions.php` 中将一个又一个脚本排队,并让它们一起工作?