用deferred时遇到个PicklingError

标签:Google App Engine, Python

用deferred写了个任务,本以为没错的代码,测试时却遇到这个错误:
<class 'pickle.PicklingError'>: Can't pickle <function generate_categories at 0x6a4387e469f6a3b8>: it's not found as model.generate_categories
研究了半天才明白过来,model.generate_categories这个玩意我当然没有定义,我是在model模块里调用Category.generate_categories()这个静态函数。看来pickle这个玩意比较傻,只能识别全局对象。

于是加了一行赋值代码,问题解决:
generate_categories = Category.generate_categories

0条评论 你不来一发么↓

    想说点什么呢?