In a model:

def load():
    """
    Load the file into memory and message the number of entries
    """
    f = open('tables.pkl','rb')
    tables = pickle.load(f)
    f.close()
    return tables

session.tables=cache.ram('tables',load,None)

and it will be cached in ram for all users.


On Oct 27, 5:15 am, siddharth <sharmasiddhart...@gmail.com> wrote:
> I am loading a pickled dictionary into memory. I need it to be
> available to all users all the time. It needs to be loaded only once
> at application startup.
> I wrote the following code and put it in models directory
>
> code: load_table.py
>
>     import cPickle as pickle
>     """
>     Load the file into memory and message the number of entries
>     """
>     f = open('tables.pkl','rb')
>     session.tables = pickle.load(f)
>     f.close()
>     terms = len(tables.keys())
>
> This made the 'table' variable available globally to all functions in
> the controller. I was initially using a very small table. Now that the
> table size has increased, it is taking a long time to query it. Almost
> equal to loading it each time. How can I speed this up.
>
> Should I load it in index() and access via session.table (global)

Reply via email to