PartitionedTableAppender.append返回值是写入成功的记录数,所以需要判断一下传入PartitionedTableAppender.append的data参数中记录数与返回值是否一致。
实时数据写入,建议用MultithreadedTableWriter接口(https://docs.dolphindb.cn/zh/api/python/BasicOperations/AsyncWrites/MultithreadedTableWriter.html)。
今天在接收并保存市场实时tick数据的时候,发现偶尔会有数据没有记录的情况,如图,时间戳直接从13:31:38.5跳到了13:33:24。我检查了一下原始数据,中间时间是有值的。我目前保存方式是通过python_api,大概如下:
session = session()
session.connect(self.host, self.port, self.user, self.password)
pool = DBConnectionPool(self.host, self.port, 2, self.user, self.password)
PartitionedTableAppender(db_path, "tick", "datetime", pool).append(data)
我的猜测是中间时间那会session或者pool断开了,导致数据没有被录进去。请问还有别的可能解释吗?如何解决这个问题?