猿问

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

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

  }


慕田峪9158850
浏览 109回答 1
1回答

守着一只汪

我终于能够实现这一点。分享步骤:安装包 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 Clientrc := 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
随时随地看视频慕课网APP

相关分类

Go
我要回答