首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >/_ah/queue/延迟的奇怪导入错误

/_ah/queue/延迟的奇怪导入错误
EN

Stack Overflow用户
提问于 2014-07-15 06:51:32
回答 2查看 358关注 0票数 6

我有一个django 1.5运行在Google上,使用djangoappengine模块进行拼接。所有操作都很好,除了对/_ah/queue/延迟的大约一半调用引发以下导入错误:

代码语言:javascript
复制
Traceback (most recent call last):
  File "..../third_party/djangoappengine/deferred/handler.py", line 2, in <module>
    from djangoappengine import main
ImportError: No module named djangoappengine

如您所见,djangoappengine模块位于third_party目录中,该目录被添加到appengine_config.py文件中的sys.path中,因此执行from djangoappengine import main不会出现任何问题。

代码语言:javascript
复制
sys.path.insert(0, os.path.join(os.path.dirname(__file__), 'third_party'))

app.yaml中的相关行是:

代码语言:javascript
复制
handlers:
- url: /_ah/queue/deferred
  script: third_party/djangoappengine/deferred/handler.py
  login: admin

是什么导致了这些零星的导入错误?我做错了什么吗?也许有一个我不知道的导入循环?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2014-09-15 10:48:58

发现我的代码使用了旧的CGI接口,而不是更新的WSGI。我修好了这个问题就再也没有回来了。

更新的app.yaml

代码语言:javascript
复制
handlers:
- url: /_ah/queue/deferred
  script: djangoappengine.deferred.handler.application
  login: admin
票数 2
EN

Stack Overflow用户

发布于 2014-09-09 13:51:30

众所周知,deffer库在第三方进口方面做了一些奇怪的事情。如果延迟的任务加载一个新的实例,第三方库加载得很慢,这与此有关。你有两种选择(第三种我不确定会起作用)

  • 使用标准的任务队列调用。如果需要的话我可以帮你重写。
  • 如果您只需要姜戈,而不是特殊的djangoappengine库,则应该使用app engine one。它们是装货的保证。
  • 不知道这是否工作,但可能值得一试,是把导入放在一个try除了循环,直到它被加载。这只是一个自己从未尝试过的想法。
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/24751684

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档