我有一个队列端点(芹菜),在处理它们之前消耗一批消息,然后将它们全部写入一个临时文件以供另一个进程(Spark 集群)使用。它基本上是一个巨大的字典列表,用 JSON 编码。
[{'id':1,'content'=...},{'id':2,'content'=...},{'id':3,'content'=...}.....]
但是我们将所有消息保存在内存中,然后在内存json.dumps
中生成一个大字符串。那么我可以做得比将它们全部存储在内存中更好吗?我可以在消息到达时将消息转储到文件中,这样它就不会消耗太多内存吗?