projects
/
python_utils.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
Used isort to sort imports. Also added to the git pre-commit hook.
[python_utils.git]
/
lockfile.py
diff --git
a/lockfile.py
b/lockfile.py
index 2bbe6f4e2124419bd788312f17a0e6645d921232..38134b20d02f00f8d419b5ddfef669c5002a4abf 100644
(file)
--- a/
lockfile.py
+++ b/
lockfile.py
@@
-1,23
+1,20
@@
#!/usr/bin/env python3
#!/usr/bin/env python3
-from dataclasses import dataclass
import datetime
import json
import logging
import os
import signal
import sys
import datetime
import json
import logging
import os
import signal
import sys
-from typing import Optional
import warnings
import warnings
+from dataclasses import dataclass
+from typing import Optional
import config
import datetime_utils
import decorator_utils
import config
import datetime_utils
import decorator_utils
-
-cfg = config.add_commandline_args(
- f'Lockfile ({__file__})', 'Args related to lockfiles'
-)
+cfg = config.add_commandline_args(f'Lockfile ({__file__})', 'Args related to lockfiles')
cfg.add_argument(
'--lockfile_held_duration_warning_threshold_sec',
type=float,
cfg.add_argument(
'--lockfile_held_duration_warning_threshold_sec',
type=float,
@@
-36,7
+33,7
@@
class LockFileException(Exception):
class LockFileContents:
pid: int
commandline: str
class LockFileContents:
pid: int
commandline: str
- expiration_timestamp:
float
+ expiration_timestamp:
Optional[float]
class LockFile(object):
class LockFile(object):
@@
-136,9
+133,7
@@
class LockFile(object):
duration
>= config.config['lockfile_held_duration_warning_threshold_sec']
):
duration
>= config.config['lockfile_held_duration_warning_threshold_sec']
):
- str_duration = datetime_utils.describe_duration_briefly(
- duration
- )
+ str_duration = datetime_utils.describe_duration_briefly(duration)
msg = f'Held {self.lockfile} for {str_duration}'
logger.warning(msg)
warnings.warn(msg, stacklevel=2)
msg = f'Held {self.lockfile} for {str_duration}'
logger.warning(msg)
warnings.warn(msg, stacklevel=2)
@@
-185,7
+180,7
@@
class LockFile(object):
# Has the lock expiration expired?
if contents.expiration_timestamp is not None:
now = datetime.datetime.now().timestamp()
# Has the lock expiration expired?
if contents.expiration_timestamp is not None:
now = datetime.datetime.now().timestamp()
- if now > contents.expiration_
datetime
:
+ if now > contents.expiration_
timestamp
:
msg = f'Lockfile {self.lockfile} expiration time has passed; force acquiring'
logger.warning(msg)
self.release()
msg = f'Lockfile {self.lockfile} expiration time has passed; force acquiring'
logger.warning(msg)
self.release()