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.