#!/usr/bin/env python3
-from dataclasses import dataclass
import datetime
import json
import logging
import os
import signal
import sys
-from typing import Optional
import warnings
+from dataclasses import dataclass
+from typing import Optional
import config
import datetime_utils
import decorator_utils
-
cfg = config.add_commandline_args(f'Lockfile ({__file__})', 'Args related to lockfiles')
cfg.add_argument(
'--lockfile_held_duration_warning_threshold_sec',
class LockFileContents:
pid: int
commandline: str
- expiration_timestamp: float
+ expiration_timestamp: Optional[float]
class LockFile(object):
# 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()