Ha!! Yes nginx/uwsgi...
That what I suspecting, it looks like the dict was kind of unique by user... I think we should leave a note somewhere in the book about this issue... I was in the process of exploring Redis cache or memcache just to see if there were not improvement. I will look into Redis. Thank you Anthony. Richard On Wed, Jan 13, 2016 at 12:19 PM, Anthony <abasta...@gmail.com> wrote: > Are you using nginx/uwsgi? If so, I believe cache.ram would not be shared > across the different uwsgi worker processes. You might consider switching > to the Redis cache. > > Anthony > > > On Wednesday, January 13, 2016 at 11:26:16 AM UTC-5, Richard wrote: >> >> Hello, >> >> Still struggle with this. I don't understand why cache dict is not >> updated in real time... >> >> It get updated but there is a strange delay. >> >> Thanks >> >> Richard >> >> On Mon, Jan 4, 2016 at 4:18 PM, Richard Vézina < >> ml.richard.vez...@gmail.com> wrote: >> >>> UP here! >>> >>> Any help would be appreciate... >>> >>> Richard >>> >>> On Mon, Dec 21, 2015 at 10:22 PM, Richard <ml.richard.vez...@gmail.com> >>> wrote: >>> >>>> Hello, >>>> >>>> I am still under 2.9.5, I have a simple dict cached in ram which never >>>> expire that I update when new key value are added to the system... Mainly >>>> the dict contain id and their representation... >>>> >>>> It works flawlessly in dev, but once I pushed in prod, it seems that >>>> the cached dict takes time to really update... Here how I manage the >>>> creation an update of this dict : >>>> >>>> def set_id_represent(update_id_represent_if_elapsed_time=None, id=None >>>> ): >>>> """ >>>> Calling this function will create in globals the "id_represent" >>>> variable if the call is made without >>>> id. If id is passed, it will update the id_represent dictionary >>>> with new >>>> id and it representation. >>>> :param id: >>>> :param update_id_represent_if_elapsed_time: >>>> """ >>>> if 'id_represent' not in globals(): >>>> global id_represent >>>> id_represent = \ >>>> cache.ram('id_represent', >>>> lambda: {r.id: r.represent_field >>>> for r in db().select(db.table_name.id, >>>> db.table_name. >>>> represent_field, >>>> orderby=db. >>>> table_name.represent_field) >>>> }, >>>> time_expire=update_id_represent_if_elapsed_time) >>>> elif isinstance(id, int) or isinstance(id, long): >>>> id_represent_query = \ >>>> db(db.table_name.id == id >>>> ).select(db.table_name.id, >>>> db.table_name.represent_field, >>>> orderby=db.table_name.represent_field) >>>> id_represent.update({r.id: r.represent_field for r in >>>> id_represent_query}) >>>> if id: >>>> return id_represent[id] >>>> >>>> set_id_represent(update_id_represent_if_elapsed_time=None) >>>> >>>> Then when I want to update the cached dict with new k, v : >>>> >>>> set_id_represent(id=my_id) >>>> >>>> I have made some test and print after the id_represent.update(...) >>>> above from the function call and the dict seems to be updated... The >>>> function that call set_in_represent(id=id) doesn't failed, but when we want >>>> to access page which user id_represent[some_id], they all failed for a >>>> couples of minutes... Like if the cached dict not get update immediately... >>>> >>>> Thanks for any pointer... >>>> >>>> Richard >>>> >>>> >>>> >>>> >>>> >>>> -- >>>> 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. >>>> >>> >>> >> -- > 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. > -- 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.