simple-lock
simple-lock provides lock system as a decorator or with-statement in your code. It is easy to use them.
Concept
You can easily implement lock system in your application with modifing a few line. There are mainly two decorator in simple_lock
. First, simple_lock.lock
locks function and create a lockfile. After that, other functions refer to the lockfile can't be executed normally. Second, without creating a new lockfile, simple_lock.watch
watchs a lockfile provieded as one of arguments without creating a new lockfile.
Instalation
$ pip install simple-lock
How to use
simple_lock.lock
decorator.
Lock your function with When a funciton try to create a lockfile and the lockfile already exists. simple_lock.lock
decorator returns return_value
like the following codes.
from simple_lock import lock
@lock(filename='simple.lock', path='~/locks',
return_value=10)
def sleep():
import time
time.sleep(10)
sleep() # -> 10
You can provide a function as 'return_value' argument and arguments of 'return_value'.
from simple_lock import lock
def add(a, b):
return a + b
@lock(filename='simple.lock', path='~/locks',
return_value=add
a=1, b=1)
def sleep():
import time
time.sleep(10)
sleep() # -> 2
simple_lock.watch
also provides functions similar to simple_lock.lock
. The difference between simple_lock.lock
and simple_lock.watch
is just whether lockfile is created or not.
from simple_lock import watch
@watch(filename='simple.lock', path='~/locks',
return_value=10)
def sleep():
import time
time.sleep(10)
sleep() # -> 10
from simple_lock import watch
def add(a, b):
return a + b
@watch(filename='simple.lock', path='~/locks',
return_value=add,
a=1, b=1)
def sleep():
import time
time.sleep(10)
sleep() # -> 2