The registry doesn't support locking, this is something you would have to do on your own using basic threading primitives like a mutex.
On Fri, Apr 4, 2014 at 4:54 PM, Tanner Semerad <[email protected]>wrote: > So you should, at the very least, lock it whenever you are changing it. >> > > How would I go about "locking" it? Thank you for the advice - I had a > feeling modifying the app configuration after launch may be a bad idea. I > will try something more along the lines of what you suggested, but I would > still like to know how I would "lock" the registry if I needed to. > > Thanks. > > On Friday, April 4, 2014 1:49:08 PM UTC-7, Michael Merickel wrote: > >> >> On Fri, Apr 4, 2014 at 3:35 PM, Tres Seaver <[email protected]> wrote: >> >>> @view_config(route='extend_views') >>> def extend_views(request): >>> config = Configurator(request.registry) >>> config.begin() >>> config.add_route(...) #etc. >>> config.commit() >>> >> >> Be aware that this is super dangerous on any "real" site as the registry >> is not thread-safe. So you should, at the very least, lock it whenever you >> are changing it. Thanks to the GIL you can probably assume that reading >> from it is mostly safe while you're modifying it, but in general it's just >> a bad idea to try to reconfigure your app after it's already running. >> Things like dynamic URLs are best solved with dispatch placeholders and/or >> traversal combined with a central storage mechanism. For example, envision >> putting the valid URLs into redis and then asking redis if the URL is valid >> prior to invoking the view (this can be easily done in a route predicate). >> > -- > You received this message because you are subscribed to the Google Groups > "pylons-discuss" group. > To unsubscribe from this group and stop receiving emails from it, send an > email to [email protected]. > To post to this group, send email to [email protected]. > Visit this group at http://groups.google.com/group/pylons-discuss. > For more options, visit https://groups.google.com/d/optout. > -- You received this message because you are subscribed to the Google Groups "pylons-discuss" group. To unsubscribe from this group and stop receiving emails from it, send an email to [email protected]. To post to this group, send email to [email protected]. Visit this group at http://groups.google.com/group/pylons-discuss. For more options, visit https://groups.google.com/d/optout.
