bokeh.document.locking¶
-
class
UnlockedDocumentProxy(doc)[source]¶ Wrap a Document object so that only methods that can safely be used from unlocked callbacks or threads are exposed. Attempts to otherwise access or change the Document results in an exception.
-
without_document_lock(func)[source]¶ Wrap a callback function to execute without first obtaining the document lock.
Parameters: func (callable) – The function to wrap Returns: a function wrapped to execute without a Documentlock.Return type: callable While inside an unlocked callback, it is completely unsafe to modify
curdoc(). The value ofcurdoc()inside the callback will be a specially wrapped version ofDocumentthat only allows safe operations, which are:add_next_tick_callback()remove_next_tick_callback()
Only these may be used safely without taking the document lock. To make other changes to the document, you must add a next tick callback and make your changes to
curdoc()from that second callback.Attempts to otherwise access or change the Document will result in an exception being raised.