标签: zodb

如何使用ZODB进行适当的内存管理?

我读了几个ZODB教程,但这里有一件事我还是没有得到:你如何释放已经序列化(并提交)到(比如)FileStorage的内存?

更具体地说,我希望以下代码停止吃掉所有的记忆:

for i in xrange(bignumber):
    iobtree[i]=Bigobject() # Bigobject is about 1Mb
    if(i%10==0): 
        transaction.commit() # or savepoint(True)
transaction.commit()
Run Code Online (Sandbox Code Playgroud)

怎么能实现这一目标?是否有可能释放iobtree存储的引用并将其替换为可按需访问的"弱引用"?

python memory-management zodb

4
推荐指数
1
解决办法
412
查看次数

大门户网站上的web2py或grok(zope),

我打算做一些大型项目(1 000 000用户,大约500请求前秒 - 在炎热时间).为了性能,我将不使用关系dbms(每个请求可能会花费很多关于dbms的关系dbms中的指令) - 所以我不能使用DAL.

我的问题是:

  1. web2py如何处理大流量,它是否同时工作?我考虑使用web2py或Gork - Zope,
  2. 如何使用大量数据工作zodb(Z对象数据库)?是否与对象关系postgresql进行了一些比较?

你能告诉我一下吗?

python zope web2py grok zodb

3
推荐指数
1
解决办法
1378
查看次数

Plone 4.0.4和Postgresql编码

我使用Plone 4.0.4,Postgresql 9.0.3和RelStorage 1.5.0b2.目前我在PostgreSQL中使用"da_DK.ISO8859-1"编码 - 由于Plone内部使用UTF-8,"da_DK.UTF-8"会更好吗?PS"编码,整理和Ctype"都在Postgresql中设置.

谢谢.尼古拉吉

postgresql encoding plone zodb

3
推荐指数
1
解决办法
272
查看次数

ZODB相当于有序的dict(odict?)

我正在做一些PloneFormGen的工作.目前,PloneFormGen在内部输入表单条目作为元组,没有关联的列信息.如果添加了新列(表单字段),则现有数据将变为无效.

这可以很容易地避免将数据存储在有序字典中,这些字典保留了输入的列顺序和列ID.

ZODB是否具有与有序字典等效的数据类型?如果可能,即使使用匹配的API(Python dict-like项操作和访问)?

python zope plone zodb

3
推荐指数
1
解决办法
585
查看次数

什么时候金字塔提交zodb交易?

我按照http://docs.pylonsproject.org/docs/pyramid/en/latest/tutorials/wiki/index.html上的教程进行了操作

我知道当我添加或更改持久对象(在本例中为Page对象)时,在transaction.commit()调用之前不会保留更改.为了取消更改,我可以致电transaction.abort().

但是,在本教程中,这些调用未显示在视图callables中.我假设有一些中间件可以在发送HTTP响应之前捕获异常并调用.abort()或调用.commit(),但我在代码或配置文件中的任何地方都没有看到它.

你能指出我正确的方向吗?我只需要知道幕后发生了什么,所以我知道我是否需要自己添加一些东西

autocommit zodb pyramid

3
推荐指数
1
解决办法
293
查看次数

如何从.fsz文件恢复zope数据库?

我有一个测试环境,我试图将我的数据恢复到.我使用repozo备份了我的实时站点,但是zope文档已经在他们的新站点上消失了.

这是我正在尝试的命令:

/home/adrigen/atf/bin/repozo --recover --output=/home/adrigen/atf/var/filestorage/Data.fs --repository=/home/adrigen/atf/var/filestorage/backup/
Run Code Online (Sandbox Code Playgroud)

此命令完成时没有任何失败消息,但数据未出现在plone(3)中.

是否有任何提示或文章可以帮助我这样做?

zope plone restore zodb

2
推荐指数
1
解决办法
1577
查看次数

从两个进程访问ZODB

我有一个站点,每当我尝试在服务器运行时打开数据库时,它会显示一个错误,数据库已由另一个进程打开.

问题是我有一些脚本可以用cron来安排检查数据库,甚至只是pshell在服务器运行时使用.

截至目前,似乎不可能从不同的进程打开数据库,而doc实际上说可以与数据库建立多个连接.

此问题迫使我一次只运行一个脚本/进程,包括服务器.

python zodb pyramid

2
推荐指数
1
解决办法
458
查看次数

清除Plone中filestorage中未使用的blob

有没有办法在Plone站点中查找和删除未使用的blob存储空间?

我正在寻找类似的东西bin/zeopack,但它会检测blobstorage目录中未使用的blob .

plone zodb blobstorage

2
推荐指数
1
解决办法
485
查看次数

Plone将Blob数据迁移到"浓密"布局IOError Errno 21

我正在尝试将我们的blobstorage(使用Plone 4.3.2和ZODB3 3.10.5)从"草坪"迁移到"浓密"布局.在运行脚本时,我得到以下回溯:

(11719) Blob directory `var/blobstorage-lawn/` has layout marker set. Selected `lawn` layout.
(11719) The `lawn` blob directory layout is deprecated due to scalability issues on some file systems, please consider migrating to the `bushy` layout.
Migrating blob data from `var/blobstorage-lawn/` (lawn) to `var/blobstorage` (bushy)
Traceback (most recent call last):
  File "bin/migrateblobs", line 19, in <module>
    sys.exit(ZODB.scripts.migrateblobs.main())
  File "/var/db/zope/plone43_dev/buildout-cache/eggs/ZODB3-3.10.5-py2.7-linux- x86_64.egg/ZODB/scripts/migrateblobs.py", line 77, in main
    migrate(source, dest, options.layout)
  File "/var/db/zope/plone43_dev/buildout-cache/eggs/ZODB3-3.10.5-py2.7-linux-x86_64.egg/ZODB/scripts/migrateblobs.py", line 52, in migrate
    link_or_copy(source_file, dest_file)
  File "/var/db/zope/plone43_dev/buildout-cache/eggs/ZODB3-3.10.5-py2.7-linux-x86_64.egg/ZODB/scripts/migrateblobs.py", line 30, …
Run Code Online (Sandbox Code Playgroud)

python plone zodb

2
推荐指数
1
解决办法
338
查看次数

Plone文件上传中使用的主要空间在哪里?

在plone中我只上传了800 GB的数据(主要是pdfs),它已经占用了2 TB的硬盘空间.空间到底在哪里?我正在使用collective.documentviewer及其默认设置.和plone 4.3.documentviewer存储的文件是否已更改为各种图像大小,即缩略图,大图像等,并存储在blobstorage文件夹中?

plone zodb plone-4.x

2
推荐指数
1
解决办法
110
查看次数