wyz9527 / delayQS

go+redis的延迟任务处理程序
5 stars 0 forks source link

我使用go语言模拟没有效果,代码如下 #1

Closed lfcleo closed 2 months ago

lfcleo commented 4 years ago

使用gin框架启动服务,试了下没有效果 ` package main

import ( "encoding/json" "fmt" "github.com/garyburd/redigo/redis" "github.com/gin-gonic/gin" ) func main() { c1, err := redis.Dial("tcp", "127.0.0.1:6379") if err != nil { fmt.Println("连接redis失败", err) return } defer c1.Close()

r := gin.Default()

r.GET("/create", func(c *gin.Context) {

    m2 :=map[string]string{
        "id":"1",
        "body":"body",
        "callback":"http://localhost:10004/pay",
        "sign":"sign",
    }

    mjson,err :=json.Marshal(m2)
    if err != nil {
        fmt.Println("err = ", err)
        return
    }

    _, err = c1.Do("SET", "DelayQs:job_zqueue", mjson, "EX", "15")
    if err != nil {
        fmt.Println("redis set failed:", err)
    }

    c.JSON(200, gin.H{
        "msg":string(mjson),
    })
})

r.POST("/pay", func(c *gin.Context) {
    c.JSON(200, "success")
})

r.Run(":10004")

} 请求http://127.0.0.1:10004/create`创建订单, 但是订单在redis中过期后,http://localhost:10004/pay并没有收到请求

wyz9527 commented 4 years ago

使用gin框架启动服务,试了下没有效果 ` package main

import ( "encoding/json" "fmt" "github.com/garyburd/redigo/redis" "github.com/gin-gonic/gin" ) func main() { c1, err := redis.Dial("tcp", "127.0.0.1:6379") if err != nil { fmt.Println("连接redis失败", err) return } defer c1.Close()

r := gin.Default()

r.GET("/create", func(c *gin.Context) {

  m2 :=map[string]string{
      "id":"1",
      "body":"body",
      "callback":"http://localhost:10004/pay",
      "sign":"sign",
  }

  mjson,err :=json.Marshal(m2)
  if err != nil {
      fmt.Println("err = ", err)
      return
  }

  _, err = c1.Do("SET", "DelayQs:job_zqueue", mjson, "EX", "15")
  if err != nil {
      fmt.Println("redis set failed:", err)
  }

  c.JSON(200, gin.H{
      "msg":string(mjson),
  })
})

r.POST("/pay", func(c *gin.Context) {
  c.JSON(200, "success")
})

r.Run(":10004")

} 请求http://127.0.0.1:10004/create`创建订单, 但是订单在redis中过期后,http://localhost:10004/pay并没有收到请求

redis这个key需要使用有序集合 要使用zSet 还不是set