Comments (9)
I don't fully understand your question. Asynq uses go-redis/v9. Afaik, the tests pass and everything works fine.
However if you are reusing a go-redis connection for asynq, you need to set it up correctly.
from asynq.
@kamikazechaser
Thank you for your reply!
Let me improve my question:
In our project, this will report an error when using NewClient(r RedisConnOpt). The reason for the error is that r.MakeRedisClient() returns a go-redis/v8 client, which cannot be converted into redis.UniversalClient in go-redis/v9.
from asynq.
Could you additionally post the code on your end to reproduce this issue.
from asynq.
Possibly related to #790
from asynq.
This panic is inevitable.
This is my pseudo-code:
package main
import (
"github.com/hibiken/asynq" // v0.24.1
"github.com/go-redis/redis/v8"
)
type XRDS struct {
*redis.Client
}
func (xrds *XRDS) MakeRedisClient() interface{} {
return xrds
}
func NewRedisClient() *XRDS {
c := redis.NewFailoverClient(&redis.FailoverOptions{
MasterName: "mymaster",
SentinelAddrs: []string{"x.x.x.x:16379", "x.x.x.x:16379", "x.x.x.x:16379"},
Password: "xxxxxx",
DB: 1,
})
return &XRDS{Client: c}
}
func main() {
_ = asynq.NewClient(NewRedisClient())
}
from asynq.
"github.com/go-redis/redis/v8"
Use go-redis/v9 with v0.24.1 and let me know if the issue still persists. I see that you are not using the x
module which is problematic right now.
from asynq.
Yes, we can't go wrong with go-redis/v9.
What I want to ask is, does asynq need to support multiple go-redis versions?
from asynq.
What I want to ask is, does asynq need to support multiple go-redis versions?
No. We want to stick with v9 only. You can track some changes on the sohail/go-update branch which removes the last mention of go-redis/v8 from the x module.
from asynq.
Well, thank you for your answer.
from asynq.
Related Issues (20)
- When release v1? HOT 1
- How to mark a task as completed externally HOT 1
- Add example for redict.io and NATS jetstream HOT 1
- [FEATURE REQUEST] Add callback for task state changes
- [BUG] EnqueueContext not the original context HOT 2
- [BUG] Errors trying to connect remote worker server to scheduler HOT 1
- [FEATURE REQUEST] Support for Fixed-Length Queues in Asynq
- Order of task execution HOT 2
- [BUG] The related methods of Inspector basically lack the transmission of ctx HOT 2
- [FEATURE REQUEST] customize serializer
- Discussion/Suggestion: Decoupling `x` and `tools` packages.
- [BUG] Unable to schedule a task HOT 1
- Timing issues when running certain tests
- [FEATURE REQUEST] Settable maxArchiveSize HOT 1
- [BUG] Delete archived task fail, when task has been evicted from archived zset. HOT 1
- [FEATURE REQUEST] Unique option for run time of task
- [FEATURE REQUEST] aggregation task optimization
- handler not found for task "ping:worker"
- [FEATURE REQUEST] Custom ticker value for heartbeater duration HOT 2
- Scheduler: How to get the schedule time of the task in the task handler?
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from asynq.