我正在使用 App Engine 和延迟库。但每隔一段时间我的任务就会失败并出现以下错误:
Permanent failure attempting to execute task
Traceback (most recent call last):
File "/base/python_lib/versions/1/google/appengine/ext/deferred/deferred.py",
line 256, in post
run(self.request.body)
File "/base/python_lib/versions/1/google/appengine/ext/deferred/deferred.py",
line 122, in run
raise PermanentTaskFailure(e)
PermanentTaskFailure: Environment variable DJANGO_SETTINGS_MODULE is undefined.
我找到了一个post http://groups.google.com/group/google-appengine-python/browse_thread/thread/bddb5fe9d10d12eb说解决方案是:
from google.appengine.ext.webapp import template
但我没有使用 webapp 框架,我使用的是 Django。我可以尝试什么?
当您的任务依赖于某些 Python 路径操作或其他 jiggery-pokery 时,通常会发生此类错误,而当对运行时的第一个请求是通过 deferred 时,这些操作并未执行。您需要确保所有入口点(例如,包含您要推迟的函数的模块)导入执行相关路径操作的模块。
或者,您可以编写自己的延迟任务处理程序,该处理程序作为框架的一部分,已经应用了相关补丁。为此,只需注册处理程序并让它调用 deferred.run(),传入请求的完整正文。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)