Plone 重新启动时的AttributeError

Plone 重新启动时的AttributeError,plone,zope,zodb,Plone,Zope,Zodb,我们的生产系统就像一个Zope工作人员集群,有一个ZEO服务器作为后端,非常常见 由于我们有相当多的数据,我们的实例消耗了太多的内存,我们有一个看门狗,每当它们超过限制时就会重新启动它们。重新启动代码基本上是: bin/supervisorctl reload 无论何时,我们都会收到大量来自员工的stacktrace电子邮件,如(这是完整的stacktrace): 我认为这是正常的,直到我看到这表明这只会发生在RelStorage用户身上,而我们不使用RelStorage 你知道这是否意味着什

我们的生产系统就像一个Zope工作人员集群,有一个ZEO服务器作为后端,非常常见

由于我们有相当多的数据,我们的实例消耗了太多的内存,我们有一个看门狗,每当它们超过限制时就会重新启动它们。重新启动代码基本上是:

bin/supervisorctl reload
无论何时,我们都会收到大量来自员工的stacktrace电子邮件,如(这是完整的stacktrace):

我认为这是正常的,直到我看到这表明这只会发生在RelStorage用户身上,而我们不使用RelStorage

你知道这是否意味着什么,或者我们可以(就像我们已经做的那样,尽管这让我很困扰)自动将来自我们员工的邮件标记为在我们的邮件客户端上阅读吗


有没有更好/更温和的方法告诉Zope工作人员重新启动?某种类型的“完成您正在处理的请求,然后重新启动”

您是否可以在测试环境中重现此错误,如果是,是否可以手动删除监控程序并重新启动服务器和客户端(./bin/zeoserver restart;/bin/client1 restart;…)让错误消失?@IdaEbkes是的,我可以,拥有
bin/zeo fg
bin/instance fg
,然后在执行请求时
Ctrl+C
,对bin/instance进行回溯,这也很好,就排除而言,这可能是主管的错误:-)如果我没弄错,这个错误可以在新实例中重现?这可能值得一份bug报告,特别是因为它不仅涉及到rel-storage。此任务现在引用于:
Couldn't load state for 0x052aec
Traceback (most recent call last):
  File "/home/service/.buildout/eggs/ZODB3-3.10.5-py2.7-linux-x86_64.egg/ZODB/Connection.py", line 860, in setstate
    self._setstate(obj)
  File "/home/service/.buildout/eggs/ZODB3-3.10.5-py2.7-linux-x86_64.egg/ZODB/Connection.py", line 901, in _setstate
    p, serial = self._storage.load(obj._p_oid, '')
AttributeError: 'NoneType' object has no attribute 'load'