【问题标题】:Does Plone have a limit on the size of data being uploadedPlone 对上传的数据大小有限制吗
【发布时间】:2026-02-11 10:35:01
【问题描述】:

我开发了一个 Plone 站点,我正在使用 csvreplicata 插件从 csv 文件上传数据。我设法上传了大约 6000 行的文件,但是当我尝试上传大约 120,000 行的 csv 时,plone 站点挂起。请问有谁知道上传的数据有大小限制吗?

提前致谢

【问题讨论】:

    标签: plone zope


    【解决方案1】:

    查看product code 我看不到任何事务保存点,所以我认为这里的真正问题是您的服务器由于单个事务的巨大大小而内存不足并且它挂起因为它开始交换.尝试监控服务器的内存使用情况,如有必要,在导入期间每处理 N 个元素添加此代码:

    import transaction
    
    ...
    transaction.savepoint(optimistic=True)
    

    这将产生一个事务的“子事务”,将数据从内存移动到硬盘。

    请务必选择合适的 N 维度:对于非常庞大的事务,您可能会节省内存并耗尽磁盘空间,因为每个保存点都会使硬盘上的数据维度相乘。

    更多信息:http://docs.zope.org/zope3/Book/zodb/savepoints/show.html

    【讨论】:

    • 您能否告诉我应该在哪里添加代码,因为我是 python 初学者。我尝试在异常之前的 try 语句中的 def _csvimport 中添加它,但是在我重新启动 Zope 之后,Plone 站点没有启动。
    • 那么您是否监控了您的服务器并且它的内存不足?!如果是这样,我会将导入放在模块的开头,并在第 239 行的主循环开始之后放置一个保存点(方法 _csvimport)。之后,您应该再次监控您的内存和磁盘空间。也许还插入一个打印件,让您知道它正在进行的迭代次数。