我在appengine python中有一个任务延迟,它是一个简单的调用,包含所有任务信息字符串,字符串列表。它适用于任何任务。你知道吗
deferred.defer(fetch_service,
_queue = "queue_name",
_countdown = task_counter * 4,
**task_info )
我观察到一个奇怪的行为,当我访问不同URL或不同模块中的一些端点或UI时,这个延迟调用开始失败。每一个不同的电话都会引发相同的问题。你知道吗
File "/base/data/home/runtimes/python27/python27_lib/versions/1/google/appengine/ext/deferred/deferred.py", line 145, in run
raise PermanentTaskFailure(e)
PermanentTaskFailure: None.fetch_service forbidden in unpickling
寻求任何帮助,或其他谁面临同样的问题。你知道吗
这个问题特定于Google提供的GAE python scaffold。有一个白名单的方法,允许被腌制。你知道吗
如果您将您的
fetch_service
方法添加到base/api_fixers.py
列表中的_PICKLE_CLASS_WHITELIST
,它将起作用。你知道吗一个任务失败了,而且永远不会成功的
PermanentTaskFailure
异常indicates。你知道吗这通常意味着当GAE infra尝试调度任务时会遇到一些无效的情况。你知道吗
错误消息中的
None.fetch_service
字符串指向无效引用:None
没有fetch_service
属性。你知道吗这可能表示任务是在没有访问
fetch_service
对象的模块中执行的。我将检查显示错误的模块中的导入。你知道吗相关问题 更多 >
编程相关推荐