Python oslo_concurrency.lockutils.synchronized_with_prefix() Examples
The following are 3
code examples of oslo_concurrency.lockutils.synchronized_with_prefix().
You can vote up the ones you like or vote down the ones you don't like,
and go to the original project or source file by following the links above each example.
You may also want to check out all available functions/classes of the module
oslo_concurrency.lockutils
, or try the search function
.
Example #1
Source File: test_lockutils.py From oslo.concurrency with Apache License 2.0 | 5 votes |
def test_synchronized_with_prefix(self): lock_name = 'mylock' lock_pfix = 'mypfix-' foo = lockutils.synchronized_with_prefix(lock_pfix) @foo(lock_name, external=True) def bar(dirpath, pfix, name): return True lock_dir = tempfile.mkdtemp() self.config(lock_path=lock_dir, group='oslo_concurrency') self.assertTrue(bar(lock_dir, lock_pfix, lock_name))
Example #2
Source File: lockutils.py From oslo.concurrency with Apache License 2.0 | 5 votes |
def synchronized_with_prefix(lock_file_prefix): """Partial object generator for the synchronization decorator. Redefine @synchronized in each project like so:: (in nova/utils.py) from oslo_concurrency import lockutils _prefix = 'nova' synchronized = lockutils.synchronized_with_prefix(_prefix) lock_cleanup = lockutils.remove_external_lock_file_with_prefix(_prefix) (in nova/foo.py) from nova import utils @utils.synchronized('mylock') def bar(self, *args): ... Eventually clean up with:: lock_cleanup('mylock') :param lock_file_prefix: A string used to provide lock files on disk with a meaningful prefix. Will be separated from the lock name with a hyphen, which may optionally be included in the lock_file_prefix (e.g. ``'nova'`` and ``'nova-'`` are equivalent). """ return functools.partial(synchronized, lock_file_prefix=lock_file_prefix)
Example #3
Source File: lockutils.py From oslo.concurrency with Apache License 2.0 | 5 votes |
def remove_external_lock_file_with_prefix(lock_file_prefix): """Partial object generator for the remove lock file function. Redefine remove_external_lock_file_with_prefix in each project like so:: (in nova/utils.py) from oslo_concurrency import lockutils _prefix = 'nova' synchronized = lockutils.synchronized_with_prefix(_prefix) lock = lockutils.lock_with_prefix(_prefix) lock_cleanup = lockutils.remove_external_lock_file_with_prefix(_prefix) (in nova/foo.py) from nova import utils @utils.synchronized('mylock') def bar(self, *args): ... def baz(self, *args): ... with utils.lock('mylock'): ... ... <eventually call lock_cleanup('mylock') to clean up> The lock_file_prefix argument is used to provide lock files on disk with a meaningful prefix. """ return functools.partial(remove_external_lock_file, lock_file_prefix=lock_file_prefix)