X-Git-Url: http://git.treefish.org/~alex/photosort.git/blobdiff_plain/ef745f5c8e8191f8ff341cb6fcf39179e34eb2bd..9abf01c0adb9b5e7b0d74da76bf7f86b49e30cb6:/src/bunch.py?ds=sidebyside diff --git a/src/bunch.py b/src/bunch.py index 713a618..2ac33ca 100644 --- a/src/bunch.py +++ b/src/bunch.py @@ -18,7 +18,7 @@ class Bunch: for src_dir_cfg in cfg['src_dirs']: self._sources.append( Bunch.TriggeredSource( - DirTrigger(src_dir_cfg['path']), + DirTrigger(src_dir_cfg['path'], src_dir_cfg['cool_time'], src_dir_cfg['max_time']), Migrator(src_dir_cfg['path'], cfg['dst_dir']['path']), src_dir_cfg['cleanup'] ) @@ -37,8 +37,12 @@ class Bunch: self._worker_thread.join() logging.info("Stopped bunch %s.", self._id) + def is_running(self): + return self._worker_thread.is_alive() + def _worker(self): - # start triggers + for source in self._sources: + source.trigger.start() while not self._stop: for source in self._sources: @@ -46,7 +50,7 @@ class Bunch: if source.trigger.is_triggering(): logging.info("Got source trigger for bunch %s.", self._id) source.trigger.reset() - source.migrator.migrate() + source.migrator.migrate(source.cleanup) if source.cleanup: source.migrator.cleanup() except Exception as e: @@ -54,4 +58,5 @@ class Bunch: self._id, str(e)) time.sleep(10.0) - # stop triggers + for source in self._sources: + source.trigger.stop()