首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >deferred.defer显示PermanentTaskFailure:超过最大递归深度

deferred.defer显示PermanentTaskFailure:超过最大递归深度
EN

Stack Overflow用户
提问于 2016-12-26 08:06:14
回答 1查看 83关注 0票数 0

我试图从csv文件中导入所有数据,并将其作为csv文件存储到数据存储中。

__init__.py文件,其中定义了app

代码语言:javascript
复制
@app.route("/import/<model>", methods=['POST'])
def import_csv(model):
    reader = UsersImporter(fil, user)
    reader.read()

importers.py

代码语言:javascript
复制
class UsersImporter(BaseImporter):
    def read(self):
        line = self.file.readline()
        self.checking_delimiter_on_first_line(line)
        self.file.seek(0)
        reader = csv.DictReader(self.file, delimiter=self.delimiter)
        try:
            for row in reader:
                deferred.defer(self.parse_line, row)
        except:
            print traceback.format_exc()
        self.insert_entities()

上面的代码会产生下面的回溯。

代码语言:javascript
复制
INFO     2016-12-26 08:00:09,745 deferred.py:303] X-Appengine-Current-Namespace:, X-Appengine-Taskexecutioncount:0, X-Appengine-Country:ZZ, X-Appengine-Taskname:task8, X-Appengine-Taskretrycount:0, X-Appengine-Queuename:default, X-Appengine-Tasketa:1482739209.69
ERROR    2016-12-26 08:00:09,749 deferred.py:319] Permanent failure attempting to execute task
Traceback (most recent call last):
  File "/home/gemini/softwares/google_appengine/google/appengine/ext/deferred/deferred.py", line 310, in post
    self.run_from_request()
  File "/home/gemini/softwares/google_appengine/google/appengine/ext/deferred/deferred.py", line 305, in run_from_request
    run(self.request.body)
  File "/home/gemini/softwares/google_appengine/google/appengine/ext/deferred/deferred.py", line 145, in run
    raise PermanentTaskFailure(e)
PermanentTaskFailure: maximum recursion depth exceeded

您知道,row不是requestHandler类的一个实例。self.parse_line也是在BaseImporter中定义的方法。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2016-12-27 03:35:22

在将parse_line函数移出类后,它可以工作。例如,作为defferred.defer func的第一个参数传递的函数将不是实例方法。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/41328261

复制
相关文章

相似问题

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