让pubsubhubbub集线器工作

时间:2010-03-04 12:38:23

标签: python google-app-engine pubsubhubbub

我已按照http://code.google.com/p/pubsubhubbub/wiki/DeveloperGettingStartedGuide中的说明设置了中心。 当我启动集线器时,我收到以下警告

$ sudo python2.5 google_appengine/dev_appserver.py pubsubhubbub/hub/
INFO     2010-03-04 12:29:57,928 appengine_rpc.py:157] Server: appengine.google.com
INFO     2010-03-04 12:29:57,959 appcfg.py:329] Checking for updates to the SDK.
WARNING  2010-03-04 12:29:58,272 datastore_file_stub.py:418] Could not read datastore data from /tmp/dev_appserver.datastore
WARNING  2010-03-04 12:29:58,273 datastore_file_stub.py:418] Could not read datastore data from /tmp/dev_appserver.datastore.history
INFO     2010-03-04 12:29:58,349 dev_appserver_main.py:465] Running application pubsubhubbub on port 8080: http://localhost:8080

http://pastie.org/853356

当我将浏览器指向http://localhost:8080时,我得到了一个令人讨厌的异常。我的浏览器中抛出了属性错误&控制台

ERROR    2010-03-04 12:31:27,735 dev_appserver.py:3000] Exception encountered handling request
Traceback (most recent call last):
  File "/home/pentarim/webdev/pshb/google_appengine/google/appengine/tools/dev_appserver.py", line 2969, in _HandleRequest
    base_env_dict=env_dict)
  File "/home/pentarim/webdev/pshb/google_appengine/google/appengine/tools/dev_appserver.py", line 406, in Dispatch
    base_env_dict=base_env_dict)
  File "/home/pentarim/webdev/pshb/google_appengine/google/appengine/tools/dev_appserver.py", line 2238, in Dispatch
    self._module_dict)
  File "/home/pentarim/webdev/pshb/google_appengine/google/appengine/tools/dev_appserver.py", line 2156, in ExecuteCGI
    reset_modules = exec_script(handler_path, cgi_path, hook)
  File "/home/pentarim/webdev/pshb/google_appengine/google/appengine/tools/dev_appserver.py", line 2052, in ExecuteOrImportScript
    exec module_code in script_module.__dict__
  File "/home/pentarim/webdev/pshb/pubsubhubbub/hub/main.py", line 116, in <module>
    import dos
  File "/home/pentarim/webdev/pshb/google_appengine/google/appengine/tools/dev_appserver.py", line 1158, in Decorate
    return func(self, *args, **kwargs)
  File "/home/pentarim/webdev/pshb/google_appengine/google/appengine/tools/dev_appserver.py", line 1806, in load_module
    return self.FindAndLoadModule(submodule, fullname, search_path)
  File "/home/pentarim/webdev/pshb/google_appengine/google/appengine/tools/dev_appserver.py", line 1158, in Decorate
    return func(self, *args, **kwargs)
  File "/home/pentarim/webdev/pshb/google_appengine/google/appengine/tools/dev_appserver.py", line 1708, in FindAndLoadModule
    description)
  File "/home/pentarim/webdev/pshb/google_appengine/google/appengine/tools/dev_appserver.py", line 1158, in Decorate
    return func(self, *args, **kwargs)
  File "/home/pentarim/webdev/pshb/google_appengine/google/appengine/tools/dev_appserver.py", line 1659, in LoadModuleRestricted
    description)
  File "/home/pentarim/webdev/pshb/pubsubhubbub/hub/dos.py", line 219, in <module>
    offset_multi=memcache.offset_multi,
AttributeError: 'module' object has no attribute 'offset_multi'
INFO     2010-03-04 12:31:27,749 dev_appserver.py:3029] "GET / HTTP/1.1" 500 -

http://pastie.org/853357

作为一个python新手需要帮助,任何想法?

1 个答案:

答案 0 :(得分:3)

http://code.google.com/p/pubsubhubbub/wiki/DeveloperGettingStartedGuide上的教程已过时,您需要使用至少谷歌应用引擎1.2.8 才能使其正常工作(其中新的memcache offset_multi方法和批处理支持在incr和decr中。已添加)