需要帮助将数据排入 Redis 队列 来自 Go 消费者

Need help in enqueue data into Redis queue From Go consumer

我正在尝试从我的 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")
  }

我终于能够实现这个了。分享步骤:

  1. 安装包 重新请求包:"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"

  2. 然后设置redis客户端

    rc := redisQueue.New("Your redis server IP")

  3. 设置resque结构

    enqueuer := resque.NewRedisEnqueuer("redis-go", rc,"resque:")

这里第一个参数是godis,redis-go等驱动名称,第二个参数是redis Client,即Go-redis client或godis client等,第三个参数是namespace。这就是您要添加到队列名称中的内容。

  1. 然后将数据包入队列

    NumPacketsInQueue, err = enqueuer.Enqueue(queueName,"",args1,args2...)

上面代码行中的第二个空参数是作业Class.I已将其保留为空。

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

链接:

  1. github.com/kavu/go-resque

  2. https://github.com/kavu/go-resque/blob/master/go-redis/driver.go

  3. Godis and Go Resque