| 1234567891011121314151617181920212223242526 |
- #import atexit
- import os
- import threading
- lockfiles = []
- def init_task(fn, period, lockfile='/opt/stackbrew/brw.lock', logger=None):
- def periodic(logger):
- if logger is not None:
- logger.info('Periodic task started')
- threading.Timer(period, periodic, [logger]).start()
- fn()
- if os.path.exists(lockfile):
- raise RuntimeError('Lockfile already present.')
- open(lockfile, 'w').close()
- lockfiles.append(lockfile)
- threading.Timer(0, periodic, [logger]).start()
- def clear_lockfiles(lockfiles):
- for lock in lockfiles:
- os.remove(lock)
- lockfiles = []
- #atexit.register(clear_lockfiles, lockfiles)
|