YES.  This seems to work fine in my case.  It permits me to save both 
sessions and cache data to redis using Python3.  Maybe we can get it 
accepted and blessed for the next release.

Joe

On Monday, September 9, 2019 at 1:03:51 PM 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/9ed9f575-1764-4dab-a93c-d7ec68e57638%40googlegroups.com.

Reply via email to