Thanks Rastafarian, I included your patch with some modifications but did not test my changes. Please check it still woks for you.
massimo On Monday, 9 September 2019 13:03:51 UTC-7, rastafarien wrote: > > Hello > > I have also proposed a patch to make redis work with my applications under > wep2py latest ( 2.18.5-stable+timestamp.2019.04.08.04.22.03) and python3 > it is attached to this post. > "onetwomany" also released a patch. > > Basically > > 2 files are to be adjusted : redis_session.py and global.py > > 1/ Redis does not support bool so I replaced False by 0 > 2/ Redis does not support datetime so I replaced datetime by str(datetime) > > Under linux and python3, I found out that it was the only way to have the > "welcome" application ( and also my own applications) to work in a > multinode environment accessing a distributed redis server for session > caching. > Let us know if it solves your problem. > Regards > Stephane > > > Le lundi 9 septembre 2019 18:27:20 UTC+2, Joe Barnhart a écrit : >> >> I sure wish somebody could fix this. It's a real bottleneck to Python3 >> adoption for my site. I tried using local storage for sessions but the >> limitation on data size makes it a no-go for my site. If I can't use redis >> I'll have to drop back to storing sessions in files and that really sucks >> for a larger deployment. >> >> -- Joe >> >> On Monday, April 1, 2019 at 11:31:10 PM UTC-7, Massimo Di Pierro wrote: >>> >>> we could change True/False with 1/0 but a better approach would be to >>> remove the value within the redis adapter. The value of locked does not do >>> anything anyway on redis since it is not a relational database with >>> transactions. >>> >>> On Sunday, 31 March 2019 10:19:20 UTC-7, Jim S wrote: >>>> >>>> I changed the following in gluon/globals.py and mine is working now. >>>> But, I'm unclear on how to test to see if it is handling the locking >>>> properly: >>>> >>>> dd = dict(locked=False, >>>> client_ip=response.session_client, >>>> modified_datetime=request.now, >>>> session_data=session_pickled, >>>> unique_key=unique_key) >>>> >>>> to >>>> >>>> dd = dict(locked='False', >>>> client_ip=response.session_client, >>>> modified_datetime=str(request.now), >>>> session_data=session_pickled, >>>> unique_key=unique_key) >>>> >>>> This makes all my stuff work (I'm still on Python 2.7 but I think the >>>> problem has to do with the python redis client moving to version 3). >>>> >>>> Leonel - I think this relates back to an issue you commented on late >>>> last year. >>>> https://groups.google.com/forum/?pli=1#!searchin/web2py/redis%7Csort:date/web2py/PdquGF_9a2E/6VJpLqsnBgAJ >>>> >>>> At that time I just continued using python redis 2.10.6. But, can't do >>>> that forever. Anyone able to test or improve upon the change I made >>>> above? Like I said, it works for me, but I don't know how to see if I'm >>>> causing any other unforeseen damage. >>>> >>>> -Jim >>>> >>>> On Friday, March 29, 2019 at 7:49:03 PM UTC-5, Joe Barnhart wrote: >>>>> >>>>> Hi Leonel -- >>>>> >>>>> My brain refuses to put together the words "session locked field". I >>>>> understand the part of pickle smashing the values and encoding them as >>>>> one >>>>> string. The bool has something to do with session locking? >>>>> >>>>> I've only looked at the web2py redis code in the most scant way as I >>>>> wasn't planning to become a redis expert. Sessions in redis could be >>>>> important to me, tho, so I may need to set aside some time to dig into >>>>> it. >>>>> (Storing sessions in cookies has been problematic due to the limited >>>>> space >>>>> for cookies in browsers.) >>>>> >>>>> -- Joe >>>>> >>>>> >>>>> On Wednesday, March 27, 2019 at 4:49:25 PM UTC-7, Leonel Câmara wrote: >>>>>> >>>>>> It's not your values Joe, pickle serializes them as a string so they >>>>>> would be fine. It's web2py session locked field which is True or False. >>>>>> It's probably easy to fix this in redis_session.py >>>>>> >>>>> -- Resources: - http://web2py.com - http://web2py.com/book (Documentation) - http://github.com/web2py/web2py (Source code) - https://code.google.com/p/web2py/issues/list (Report Issues) --- You received this message because you are subscribed to the Google Groups "web2py-users" group. To unsubscribe from this group and stop receiving emails from it, send an email to web2py+unsubscr...@googlegroups.com. To view this discussion on the web visit https://groups.google.com/d/msgid/web2py/4bca3495-5028-4b72-b827-948abfc58ac2%40googlegroups.com.