跨进程边界序列化 SqlAlchemy 查询

问题描述 投票:0回答:1

使用

Python==3.10.12
sqlalchemy==2.0.23
(以及 Ubuntu 下的 postgres 12,如果这有什么区别的话):

如何序列化现有的 SqlAlchemy 查询,以便可以反序列化它并在另一个进程中获取其结果?

换句话说,我在 process=1 中有一个 SqlAlchemy

query
,但想在 process=2 中运行
for result in query.yield_per(1000): …
query.count()

我不想序列化查询结果。我正在寻找序列化和反序列化查询本身。

结果集在任何时候都不会被缓冲/具体化,这一点很重要,因为它对于 RAM 来说太大了。

python sqlalchemy orm
1个回答
0
投票

通常人们希望将结果集拆分为子进程并根据这些结果采取行动。通过传递偏移/限制窗口或批量结果 ID。我想我不明白用例。您可以尝试这个旧的序列化器,但我认为整个概念将很难维护和调试,即。对 sqlalchemy 表对象和所有相关机械进行酸洗和反酸洗。

已弃用的扩展

关于未来扩展的讨论

© www.soinside.com 2019 - 2024. All rights reserved.