From 8be67bf834c7acb2d302060025e1a4c87e614cf8 Mon Sep 17 00:00:00 2001 From: timofey Date: Tue, 8 Nov 2022 15:01:45 +0000 Subject: [PATCH] flush + fsync --- ptvp35/__init__.py | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/ptvp35/__init__.py b/ptvp35/__init__.py index eb7617a..f94666f 100644 --- a/ptvp35/__init__.py +++ b/ptvp35/__init__.py @@ -1,5 +1,6 @@ import asyncio import json +import os import pathlib import pickle import threading @@ -177,9 +178,14 @@ class DbConnection: self.db2io(bufferdb, buffer) return buffer + def _file_write(self, line: str): + self.__file.write(line) + self.__file.flush() + os.fsync(self.__file.fileno()) + async def _dump_compressed_buffer(self): buffer = self._compress_buffer() - await self.__loop.run_in_executor(None, self.__file.write, buffer.getvalue()) + await self.__loop.run_in_executor(None, self._file_write, buffer.getvalue()) async def _do_dump_buffer(self): await self._dump_compressed_buffer()