需要帮助将数据从go consumer排入redis队列吗

shstlldc  于 2021-06-09  发布在  Redis
关注(0)|答案(1)|浏览(469)

我正在尝试从我的go消费者推送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")
  }
v2g6jxz6

v2g6jxz61#

我终于实现了。分享步骤:
安装程序包重新生成程序包: "github.com/kavu/go-resque" 另外,安装驱动程序包,即您希望resque使用的redis包。有多种选择,例如:去redis,戈迪斯,海西,redisgo等在我的情况下,我是去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 client,即go redis client或godis client等。第三个参数是namespace。这就是您要附加在队列名称中的内容。
然后将数据包排队 NumPacketsInQueue, err = enqueuer.Enqueue(queueName,"",args1,args2...) 上面代码行中的第二个空参数是job class。我将其保留为空。
在这里,最终的队列名是resque:queue:队列名称
链接:
github.com/kavu/go-resque
https://github.com/kavu/go-resque/blob/master/go-redis/driver.go
上帝啊,去吧

相关问题