Ok, how about this for a fix: I inserted the following at lines 147 and 225 in gluon/contrib/redis_session.py.
kwargs['locked'] = str(kwargs['locked']) kwargs['modified_datetime'] = str(kwargs['modified_datetime']) Any redis_session experts out there that can help with this? My understanding is that when the python redis client went from v2 to v3 it now defaults to a StrictRedis client instead of a Redis client. Details can be found here: https://pypi.org/project/redis/ Any help would really be appreciated. -Jim On Sunday, March 31, 2019 at 11:10:37 PM UTC-5, Jim S wrote: > > Thanks Joe > > Not what I wanted to hear, but the right answer. I'm just going to have to > keep redis back leveled for now. > > Jim > > > On Sun, Mar 31, 2019, 10:40 PM Joe Barnhart <joe.barnh...@gmail.com> > wrote: > >> Looking at the rest of globals.py I don't think this approach will work. >> For one, it affects storing sessions in any database, not just redis. >> Since the table is declared with a "boolean" field I don't think its gonna >> like the string version of "False". >> >> I wonder why we don't have a simple minded dialect in DAL for redis. >> Admittedly, it's not a RDBMS so a lot of DAL just won't ever work on >> redis. But it would have provided a clean place to map "booleans" to >> strings instead of bools in this case, making it easy to special-case redis. >> >> But maybe that would encourage people to complain that the implementation >> of the redis DAL dialect is too deficient. Putting it in DAL would raise >> people's expectations of what it can handle. >> >> -- Joe >> >> >> On Sunday, March 31, 2019 at 10:19:20 AM 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 a topic in the >> Google Groups "web2py-users" group. >> To unsubscribe from this topic, visit >> https://groups.google.com/d/topic/web2py/0iU2wqSik0k/unsubscribe. >> To unsubscribe from this group and all its topics, send an email to >> web2py+unsubscr...@googlegroups.com. >> For more options, visit https://groups.google.com/d/optout. >> > -- 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. For more options, visit https://groups.google.com/d/optout.