Adds Arper, cleans up other stuff.
[python_utils.git] / lockfile.py
index 770beaa9f97e3525f55b938e09a972e3b67e0e5a..1e0516bf75a340b4a15629141cdfbfb83fc3485c 100644 (file)
@@ -28,7 +28,14 @@ class LockFileContents:
 
 class LockFile(object):
     """A file locking mechanism that has context-manager support so you
-    can use it in a with statement.
+    can use it in a with statement.  e.g.
+
+    with LockFile('./foo.lock'):
+        # do a bunch of stuff... if the process dies we have a signal
+        # handler to do cleanup.  Other code (in this process or another)
+        # that tries to take the same lockfile will block.  There is also
+        # some logic for detecting stale locks.
+
     """
 
     def __init__(
@@ -123,9 +130,10 @@ class LockFile(object):
             cmd = self.override_command
         else:
             cmd = ' '.join(sys.argv)
+        print(cmd)
         contents = LockFileContents(
             pid = os.getpid(),
-            cmd,
+            commandline = cmd,
             expiration_timestamp = self.expiration_timestamp,
         )
         return json.dumps(contents.__dict__)