-
-
Notifications
You must be signed in to change notification settings - Fork 178
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
AioRedis v2 Changes / Migration #250
Comments
aioredis 2.0 is not finalized and not stable yet. |
Seems that aioredis 2.0 has just been finalized with a stable release: |
+1 I'm unable to upgrade aioredis to 2.0.0 in my project due to arq still being on 1.x version |
@samuelcolvin, do you have any plans to fix compatibility with aioredis 2.0? |
I'm keen, but I'm super busy atm. I'll look soon. |
Hope in this 20 days you've managed your super-business :) + related PR: #259 |
No @Olegt0rr, new born babies take more than 20 days to bring up. I'll review this when I have time. In the meantime, if you don't want to use free software I build and maintain, don't. |
Honestly @Olegt0rr you have a strange attitude towards open source projects maintained on a private and voluntary basis. @samuelcolvin I feel this need to be said: thanks for all your work, and congratulations to your new family member. Enjoy the time as much as you can! The only thing I'm concerned with is that the library as it is right now is broken for fresh installs, as
So by default, it will now install
|
Thanks for understanding. I'll do a patch release next week to restrict aioredis, then a new release to upgrade properly. |
@samuelcolvin, @waza-ari, @samuelcolvin, thanks for your projects! They're really valuable for me! Congratulation for your family! Being a father is a wonderful thing! All of the rest can wait :) |
thanks everyone for your patience on this, and thanks @Olegt0rr for explaining. I know how frustrating delays in open source libraries like this can be. I've released I think this new release will have to drop support for aioredis<2 since the interface has changed a fair bit. |
Dropping v1 support may make your users sad (if the user has some kind of libraries: with v1-only and v2-only support - he is trapped and can't update any of them) P.S.: note that new |
i agree aioredis 2 has some problems, as well as the issues with Therefore, support for aioredis 2 might but be available soon. I don't agree about supporting both versions of aioredis: arq makes pretty deep usage of redis, supporting both versions would require duplicating massive chunks of the library, in places the behaviour of the two versions is fundamentally different, supporting both may mean subtly different behaviour. In the end if you want to use the older version if aioredis, use the older version of arq. I don't know why or how deeply aiogram uses redis, but I don't think it's really a good analogue to arq. |
@samuelcolvin, |
well, we need to sometimes |
Probably worth just replacing this with redis-py support since it looks like aioredid and redis-py combined |
Update on migrating to new redis connectionGood news! After two days of banging my head against the wall, I've at last got #259 to pass and merged it. Thank you so much @Yolley for your initial work on this. In the end part of the problem was that aioredis 2.0.1 is broken in numerous subtle ways. In the end I migrated to redis-py's new async support (thanks for the suggestion @AngellusMortis) since that takes from master of aioredis which fixes some of the problems. With this we loose the type hints which were introduced in aioredis 2. There are still a few things to do before releasing a new version:
Most important of all: Please test this on production code and let me know if it's working. |
Awesome! Do you want to release a pre-release for easier installs for us? I'll port over all our projects tomorrow and see how it behaves. |
I think it may be good to cut a new release and maybe remove the |
First of all, awesome work! Thank you all! I'm happy to provide testing as well, maybe in our dev environment though :)
Lifting the restriction would just break new installs, wouldn't it? It would still install aioredis in v2, which breaks the entire setup. Having some kind of intermediate release with the redis-py dependency makes sense to me though, it could simplify testing. |
Will do.
Sorry, it I wasn't clear before. arq now has no dependency on This was required because aioredis 2.0.1 is broken. In particular Honestly, I'm not very impressed by either |
I've decided against renaming I've released |
I changed from the fork to EDIT: I had some issues with |
Everything looks good for far after updating in my project. |
Just testet Arq v0.23v1 on our project and all jobs a running fine. Although I'm missing support for passing |
Is the username issue something we can fix in arq? |
Yes I believe it's just adding the attribute to |
PR welcome. |
Nvm, this was actually merged to master 4 days ago: #299 |
Great, I'll include that in v0.23 |
This can be closed @samuelcolvin |
A project I'm working on needs to use both
arq
andaioredis
to connect to different redis databases with separate use cases. Following theaioredis
docs for using their 2.x release as instructed here aio-libs-abandoned/aioredis-py#987, I installed using the 2.0.0a1 tag. After installing this dependency, runningimport arq
throws this stack trace:I guess with the 2.0
aioredis
release, the naming/location of the module's exceptions, and perhaps other module internals have changed. Is migrating to to use this recent aioredis release a goal of the project? I'd be happy to dig in to it further and possibly put together a PR if it was deemed appropriate.Thanks for your work on this project, it's been quite useful.
The text was updated successfully, but these errors were encountered: