Skip to main content
 首页 » 编程设计

python之appengine 延迟任务问题,执行抛出未知错误

2025年05月04日77EasonJim

我在 appengine python 中延迟了任务,这是一个简单的调用,包含所有 task_info 字符串,字符串列表。它适用于任何任务。

               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 

寻求任何帮助,或其他面临相同问题的人。

请您参考如下方法:

此问题特定于 GAE python scaffold由谷歌提供。有一个允许 pickle 的方法白名单。

如果您将 fetch_service 方法添加到 base/api_fixers.py 列表中的 _PICKLE_CLASS_WHITELIST 中,它将起作用。