def _create_tailer_thread(self) -> FuncThread: from tailer import Tailer tailer = Tailer(open(self.file_path), end=True) def _run_follow(*_): try: self.started.set() for line in tailer.follow(delay=0.25): try: self.callback(line) except Exception: pass finally: tailer.close() return FuncThread(func=_run_follow, on_stop=lambda *_: tailer.close())