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.

Reply via email to