← Back to team overview

schooltool-developers team mailing list archive

Celery branch question

 

Justas:

I've set up your celery branch for testing it. I started with a fresh instance and put a Data.fs from another instance in the var directory.

First thing that got my attention was that the schooltool process died after my first "make start". Looking at the logs I understood that it was because the missing "blobs" directory (which was created before the process died). In an ordinary instance, the directory is also created and then the server continues starting. Not a big of a deal, since users will probably have the directory, but maybe something to take into account.

I tested the roster report for sections which works great, and then I tried the person profile. But when I visit any person I get the attached exception (related to a catalog). Maybe it's because I haven't set up everything correctly? Let me know.

Thanks.

Douglas
2013-04-03 15:18:29,220 ['/home/replaceafill/sandboxes/justas-celery/instance/run/zeo.sock'] ClientStorage (pid=18320) created RW/normal for storage: '1'
2013-04-03 15:18:29,221 (18320) Blob directory `/home/replaceafill/sandboxes/justas-celery/instance/var/blobs` is unused and has no layout marker set. Selected `bushy` layout. 
2013-04-03 15:18:29,221 (18320) Blob dir /home/replaceafill/sandboxes/justas-celery/instance/var/blobs/ has insecure mode setting
2013-04-03 15:18:29,222 created temporary cache file '<fdopen>'
2013-04-03 15:18:29,223 (18320) CW: error connecting to /home/replaceafill/sandboxes/justas-celery/instance/run/zeo.sock: ENOENT
2013-04-03 15:18:34,229 (18320) CW: error connecting to /home/replaceafill/sandboxes/justas-celery/instance/run/zeo.sock: ENOENT
2013-04-03 15:18:44,240 ['/home/replaceafill/sandboxes/justas-celery/instance/run/zeo.sock'] Testing connection <ManagedClientConnection /home/replaceafill/sandboxes/justas-celery/instance/run/zeo.sock>
2013-04-03 15:18:44,240 (/home/replaceafill/sandboxes/justas-celery/instance/run/zeo.sock) received handshake 'Z3101'
2013-04-03 15:18:44,341 ['/home/replaceafill/sandboxes/justas-celery/instance/run/zeo.sock'] Server authentication protocol None
2013-04-03 15:18:44,341 ['/home/replaceafill/sandboxes/justas-celery/instance/run/zeo.sock'] Connected to storage: /home/replaceafill/sandboxes/justas-celery/instance/run/zeo.sock
2013-04-03 15:18:44,342 ['/home/replaceafill/sandboxes/justas-celery/instance/run/zeo.sock'] No verification necessary -- empty cache
2013-04-03 15:18:44,364 main db: evolving in mode EVOLVEMINIMUM
2013-04-03 15:19:14,017 kill_hung_threads status: 10 threads (0 working, 10 idle, 0 starting) ave time N/A, max time 0.00sec, killed 0 workers
2013-04-03 15:19:36,048 http://manager:7080/persons/904312/@@index.html
Traceback (most recent call last):
  File "/home/replaceafill/.buildout/eggs/zope.publisher-3.12.6-py2.7.egg/zope/publisher/publish.py", line 132, in publish
    result = publication.callObject(request, obj)
  File "/home/replaceafill/.buildout/eggs/zope.app.publication-3.14.0-py2.7.egg/zope/app/publication/zopepublication.py", line 205, in callObject
    return mapply(ob, request.getPositionalArguments(), request)
  File "/home/replaceafill/.buildout/eggs/zope.publisher-3.12.6-py2.7.egg/zope/publisher/publish.py", line 107, in mapply
    return debug_call(obj, args)
  File "/home/replaceafill/.buildout/eggs/zope.publisher-3.12.6-py2.7.egg/zope/publisher/publish.py", line 113, in debug_call
    return obj(*args)
  File "/home/replaceafill/sandboxes/justas-celery/src/schooltool/skin/flourish/page.py", line 94, in __call__
    result = self.render(*args, **kw)
  File "/home/replaceafill/sandboxes/justas-celery/src/schooltool/skin/flourish/page.py", line 55, in render
    return self.template(*args, **kw)
  File "/home/replaceafill/.buildout/eggs/zope.browserpage-4.0.0-py2.7.egg/zope/browserpage/viewpagetemplatefile.py", line 81, in __call__
    return self.im_func(im_self, *args, **kw)
  File "/home/replaceafill/.buildout/eggs/zope.browserpage-4.0.0-py2.7.egg/zope/browserpage/viewpagetemplatefile.py", line 49, in __call__
    sourceAnnotations=getattr(debug_flags, 'sourceAnnotations', 0),
  File "/home/replaceafill/.buildout/eggs/zope.pagetemplate-4.0.1-py2.7.egg/zope/pagetemplate/pagetemplate.py", line 132, in pt_render
    strictinsert=0, sourceAnnotations=sourceAnnotations
  File "/home/replaceafill/.buildout/eggs/zope.pagetemplate-4.0.1-py2.7.egg/zope/pagetemplate/pagetemplate.py", line 241, in __call__
    interpreter()
  File "/home/replaceafill/.buildout/eggs/zope.tal-3.5.2-py2.7.egg/zope/tal/talinterpreter.py", line 271, in __call__
    self.interpret(self.program)
  File "/home/replaceafill/.buildout/eggs/zope.tal-3.5.2-py2.7.egg/zope/tal/talinterpreter.py", line 343, in interpret
    handlers[opcode](self, args)
  File "/home/replaceafill/.buildout/eggs/zope.tal-3.5.2-py2.7.egg/zope/tal/talinterpreter.py", line 533, in do_optTag_tal
    self.do_optTag(stuff)
  File "/home/replaceafill/.buildout/eggs/zope.tal-3.5.2-py2.7.egg/zope/tal/talinterpreter.py", line 518, in do_optTag
    return self.no_tag(start, program)
  File "/home/replaceafill/.buildout/eggs/zope.tal-3.5.2-py2.7.egg/zope/tal/talinterpreter.py", line 513, in no_tag
    self.interpret(program)
  File "/home/replaceafill/.buildout/eggs/zope.tal-3.5.2-py2.7.egg/zope/tal/talinterpreter.py", line 343, in interpret
    handlers[opcode](self, args)
  File "/home/replaceafill/.buildout/eggs/zope.tal-3.5.2-py2.7.egg/zope/tal/talinterpreter.py", line 742, in do_insertStructure_tal
    structure = self.engine.evaluateStructure(expr)
  File "/home/replaceafill/.buildout/eggs/zope.tales-3.5.3-py2.7.egg/zope/tales/tales.py", line 696, in evaluate
    return expression(self)
  File "/home/replaceafill/.buildout/eggs/zope.tales-3.5.3-py2.7.egg/zope/tales/expressions.py", line 217, in __call__
    return self._eval(econtext)
  File "/home/replaceafill/.buildout/eggs/zope.tales-3.5.3-py2.7.egg/zope/tales/expressions.py", line 211, in _eval
    return ob()
  File "/home/replaceafill/.buildout/eggs/zope.browserpage-4.0.0-py2.7.egg/zope/browserpage/viewpagetemplatefile.py", line 81, in __call__
    return self.im_func(im_self, *args, **kw)
  File "/home/replaceafill/.buildout/eggs/zope.browserpage-4.0.0-py2.7.egg/zope/browserpage/viewpagetemplatefile.py", line 49, in __call__
    sourceAnnotations=getattr(debug_flags, 'sourceAnnotations', 0),
  File "/home/replaceafill/.buildout/eggs/zope.pagetemplate-4.0.1-py2.7.egg/zope/pagetemplate/pagetemplate.py", line 132, in pt_render
    strictinsert=0, sourceAnnotations=sourceAnnotations
  File "/home/replaceafill/.buildout/eggs/zope.pagetemplate-4.0.1-py2.7.egg/zope/pagetemplate/pagetemplate.py", line 241, in __call__
    interpreter()
  File "/home/replaceafill/.buildout/eggs/zope.tal-3.5.2-py2.7.egg/zope/tal/talinterpreter.py", line 271, in __call__
    self.interpret(self.program)
  File "/home/replaceafill/.buildout/eggs/zope.tal-3.5.2-py2.7.egg/zope/tal/talinterpreter.py", line 343, in interpret
    handlers[opcode](self, args)
  File "/home/replaceafill/.buildout/eggs/zope.tal-3.5.2-py2.7.egg/zope/tal/talinterpreter.py", line 583, in do_setLocal_tal
    self.engine.setLocal(name, self.engine.evaluateValue(expr))
  File "/home/replaceafill/.buildout/eggs/zope.tales-3.5.3-py2.7.egg/zope/tales/tales.py", line 696, in evaluate
    return expression(self)
  File "/home/replaceafill/.buildout/eggs/zope.tales-3.5.3-py2.7.egg/zope/tales/expressions.py", line 217, in __call__
    return self._eval(econtext)
  File "/home/replaceafill/.buildout/eggs/zope.tales-3.5.3-py2.7.egg/zope/tales/expressions.py", line 211, in _eval
    return ob()
  File "/home/replaceafill/sandboxes/justas-celery/src/schooltool/skin/flourish/content.py", line 59, in __call__
    return self.render(*args, **kw)
  File "/home/replaceafill/sandboxes/justas-celery/src/schooltool/skin/flourish/page.py", line 153, in render
    result = ViewletManager.render(self, *args, **kw)
  File "/home/replaceafill/sandboxes/justas-celery/src/schooltool/skin/flourish/viewlet.py", line 239, in <lambda>
    render = lambda self, *args, **kw: self.template(*args, **kw)
  File "/home/replaceafill/.buildout/eggs/zope.browserpage-4.0.0-py2.7.egg/zope/browserpage/viewpagetemplatefile.py", line 81, in __call__
    return self.im_func(im_self, *args, **kw)
  File "/home/replaceafill/sandboxes/justas-celery/src/schooltool/common/inlinept.py", line 111, in __call__
    showtal=getattr(instance.request.debug, 'showTAL', False),
  File "/home/replaceafill/.buildout/eggs/zope.pagetemplate-4.0.1-py2.7.egg/zope/pagetemplate/pagetemplate.py", line 132, in pt_render
    strictinsert=0, sourceAnnotations=sourceAnnotations
  File "/home/replaceafill/.buildout/eggs/zope.pagetemplate-4.0.1-py2.7.egg/zope/pagetemplate/pagetemplate.py", line 241, in __call__
    interpreter()
  File "/home/replaceafill/.buildout/eggs/zope.tal-3.5.2-py2.7.egg/zope/tal/talinterpreter.py", line 271, in __call__
    self.interpret(self.program)
  File "/home/replaceafill/.buildout/eggs/zope.tal-3.5.2-py2.7.egg/zope/tal/talinterpreter.py", line 343, in interpret
    handlers[opcode](self, args)
  File "/home/replaceafill/.buildout/eggs/zope.tal-3.5.2-py2.7.egg/zope/tal/talinterpreter.py", line 821, in do_loop_tal
    self.interpret(block)
  File "/home/replaceafill/.buildout/eggs/zope.tal-3.5.2-py2.7.egg/zope/tal/talinterpreter.py", line 343, in interpret
    handlers[opcode](self, args)
  File "/home/replaceafill/.buildout/eggs/zope.tal-3.5.2-py2.7.egg/zope/tal/talinterpreter.py", line 533, in do_optTag_tal
    self.do_optTag(stuff)
  File "/home/replaceafill/.buildout/eggs/zope.tal-3.5.2-py2.7.egg/zope/tal/talinterpreter.py", line 518, in do_optTag
    return self.no_tag(start, program)
  File "/home/replaceafill/.buildout/eggs/zope.tal-3.5.2-py2.7.egg/zope/tal/talinterpreter.py", line 513, in no_tag
    self.interpret(program)
  File "/home/replaceafill/.buildout/eggs/zope.tal-3.5.2-py2.7.egg/zope/tal/talinterpreter.py", line 343, in interpret
    handlers[opcode](self, args)
  File "/home/replaceafill/.buildout/eggs/zope.tal-3.5.2-py2.7.egg/zope/tal/talinterpreter.py", line 583, in do_setLocal_tal
    self.engine.setLocal(name, self.engine.evaluateValue(expr))
  File "/home/replaceafill/.buildout/eggs/zope.tales-3.5.3-py2.7.egg/zope/tales/tales.py", line 696, in evaluate
    return expression(self)
  File "/home/replaceafill/.buildout/eggs/zope.tales-3.5.3-py2.7.egg/zope/tales/expressions.py", line 217, in __call__
    return self._eval(econtext)
  File "/home/replaceafill/.buildout/eggs/zope.tales-3.5.3-py2.7.egg/zope/tales/expressions.py", line 211, in _eval
    return ob()
  File "/home/replaceafill/sandboxes/justas-celery/src/schooltool/skin/flourish/viewlet.py", line 77, in __call__
    return self.render(*args, **kw)
  File "/home/replaceafill/sandboxes/justas-celery/src/schooltool/skin/flourish/page.py", line 184, in <lambda>
    render = lambda self, *a, **kw: self.template(*a, **kw)
  File "/home/replaceafill/.buildout/eggs/zope.browserpage-4.0.0-py2.7.egg/zope/browserpage/viewpagetemplatefile.py", line 81, in __call__
    return self.im_func(im_self, *args, **kw)
  File "/home/replaceafill/.buildout/eggs/zope.browserpage-4.0.0-py2.7.egg/zope/browserpage/viewpagetemplatefile.py", line 49, in __call__
    sourceAnnotations=getattr(debug_flags, 'sourceAnnotations', 0),
  File "/home/replaceafill/.buildout/eggs/zope.pagetemplate-4.0.1-py2.7.egg/zope/pagetemplate/pagetemplate.py", line 132, in pt_render
    strictinsert=0, sourceAnnotations=sourceAnnotations
  File "/home/replaceafill/.buildout/eggs/zope.pagetemplate-4.0.1-py2.7.egg/zope/pagetemplate/pagetemplate.py", line 241, in __call__
    interpreter()
  File "/home/replaceafill/.buildout/eggs/zope.tal-3.5.2-py2.7.egg/zope/tal/talinterpreter.py", line 271, in __call__
    self.interpret(self.program)
  File "/home/replaceafill/.buildout/eggs/zope.tal-3.5.2-py2.7.egg/zope/tal/talinterpreter.py", line 343, in interpret
    handlers[opcode](self, args)
  File "/home/replaceafill/.buildout/eggs/zope.tal-3.5.2-py2.7.egg/zope/tal/talinterpreter.py", line 583, in do_setLocal_tal
    self.engine.setLocal(name, self.engine.evaluateValue(expr))
  File "/home/replaceafill/.buildout/eggs/zope.tales-3.5.3-py2.7.egg/zope/tales/tales.py", line 696, in evaluate
    return expression(self)
  File "/home/replaceafill/.buildout/eggs/zope.tales-3.5.3-py2.7.egg/zope/tales/expressions.py", line 217, in __call__
    return self._eval(econtext)
  File "/home/replaceafill/.buildout/eggs/zope.tales-3.5.3-py2.7.egg/zope/tales/expressions.py", line 211, in _eval
    return ob()
  File "/home/replaceafill/.buildout/eggs/zope.browserpage-4.0.0-py2.7.egg/zope/browserpage/viewpagetemplatefile.py", line 81, in __call__
    return self.im_func(im_self, *args, **kw)
  File "/home/replaceafill/.buildout/eggs/zope.browserpage-4.0.0-py2.7.egg/zope/browserpage/viewpagetemplatefile.py", line 49, in __call__
    sourceAnnotations=getattr(debug_flags, 'sourceAnnotations', 0),
  File "/home/replaceafill/.buildout/eggs/zope.pagetemplate-4.0.1-py2.7.egg/zope/pagetemplate/pagetemplate.py", line 132, in pt_render
    strictinsert=0, sourceAnnotations=sourceAnnotations
  File "/home/replaceafill/.buildout/eggs/zope.pagetemplate-4.0.1-py2.7.egg/zope/pagetemplate/pagetemplate.py", line 241, in __call__
    interpreter()
  File "/home/replaceafill/.buildout/eggs/zope.tal-3.5.2-py2.7.egg/zope/tal/talinterpreter.py", line 271, in __call__
    self.interpret(self.program)
  File "/home/replaceafill/.buildout/eggs/zope.tal-3.5.2-py2.7.egg/zope/tal/talinterpreter.py", line 343, in interpret
    handlers[opcode](self, args)
  File "/home/replaceafill/.buildout/eggs/zope.tal-3.5.2-py2.7.egg/zope/tal/talinterpreter.py", line 533, in do_optTag_tal
    self.do_optTag(stuff)
  File "/home/replaceafill/.buildout/eggs/zope.tal-3.5.2-py2.7.egg/zope/tal/talinterpreter.py", line 518, in do_optTag
    return self.no_tag(start, program)
  File "/home/replaceafill/.buildout/eggs/zope.tal-3.5.2-py2.7.egg/zope/tal/talinterpreter.py", line 513, in no_tag
    self.interpret(program)
  File "/home/replaceafill/.buildout/eggs/zope.tal-3.5.2-py2.7.egg/zope/tal/talinterpreter.py", line 343, in interpret
    handlers[opcode](self, args)
  File "/home/replaceafill/.buildout/eggs/zope.tal-3.5.2-py2.7.egg/zope/tal/talinterpreter.py", line 742, in do_insertStructure_tal
    structure = self.engine.evaluateStructure(expr)
  File "/home/replaceafill/.buildout/eggs/zope.tales-3.5.3-py2.7.egg/zope/tales/tales.py", line 696, in evaluate
    return expression(self)
  File "/home/replaceafill/.buildout/eggs/zope.tales-3.5.3-py2.7.egg/zope/tales/expressions.py", line 217, in __call__
    return self._eval(econtext)
  File "/home/replaceafill/.buildout/eggs/zope.tales-3.5.3-py2.7.egg/zope/tales/expressions.py", line 211, in _eval
    return ob()
  File "/home/replaceafill/sandboxes/justas-celery/src/schooltool/skin/flourish/viewlet.py", line 253, in __call__
    return ViewletManager.__call__(self, *args, **kw)
  File "/home/replaceafill/sandboxes/justas-celery/src/schooltool/skin/flourish/content.py", line 58, in __call__
    self.update()
  File "/home/replaceafill/sandboxes/justas-celery/src/schooltool/table/ajax.py", line 117, in update
    self.updateFormatter()
  File "/home/replaceafill/sandboxes/justas-celery/src/schooltool/table/ajax.py", line 114, in updateFormatter
    css_classes={'table': 'data'})
  File "/home/replaceafill/sandboxes/justas-celery/src/schooltool/table/catalog.py", line 175, in setUp
    items=items, **kwargs)
  File "/home/replaceafill/sandboxes/justas-celery/src/schooltool/table/table.py", line 399, in setUp
    self._items = filter(self.ommit(items, ommit))
  File "/home/replaceafill/sandboxes/justas-celery/src/schooltool/table/table.py", line 367, in filter
    return self.filter_widget.filter(items)
  File "/home/replaceafill/sandboxes/justas-celery/src/schooltool/basicperson/browser/person.py", line 1442, in filter
    recipient_index = self.catalog['recipient_ids']
  File "/home/replaceafill/.buildout/eggs/zope.container-3.12.0-py2.7-linux-x86_64.egg/zope/container/btree.py", line 105, in __getitem__
    return self._SampleContainer__data[key]
KeyError: 'recipient_ids'