Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/303.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 任务队列解决方案?_Python_Google App Engine_Task Queue - Fatal编程技术网

Python 任务队列解决方案?

Python 任务队列解决方案?,python,google-app-engine,task-queue,Python,Google App Engine,Task Queue,我以前从未使用过任务队列。 我在试图从数据存储中获取所有联系人的报告时遇到问题 代码是: allContactos=db.GqlQuery("select * from contactsDB").run(batch_size=1000) for contactN in allContactos: ... (here I put all the fields in csv format) 问题是,由于联系人数量巨大,我遇到了一个500服务器错误 我的问题是,用任务队列解决这个问题是一个好

我以前从未使用过任务队列。 我在试图从数据存储中获取所有联系人的报告时遇到问题

代码是:

allContactos=db.GqlQuery("select * from contactsDB").run(batch_size=1000)
for contactN in allContactos:
    ... (here I put all the fields in csv format)
问题是,由于联系人数量巨大,我遇到了一个500服务器错误

我的问题是,用任务队列解决这个问题是一个好办法吗? 你能给我一些建议,把这个问题分成许多任务吗


问候

您不需要将查询拆分为许多任务。你可以开始一项任务。如果此任务需要10分钟以上,则必须使用运行此任务


任务完成后,您可以通过电子邮件将文件发送给用户,也可以在应用程序/网站中创建链接,以便在文件准备就绪时下载该文件。

谢谢您的回答。我如何知道任务何时完成?我怎样才能创建一个链接来获得任务的结果呢?请注意,如果需要10分钟以上,你不一定需要后端。假设您可以使用分页页面标记查询一个巨大的列表,并且一个任务队列接一个任务队列,每个任务队列执行一个页面。但是输出必须是类似于驱动器文本文件的东西,并且您不断地附加到它。任务链接:当执行其中最后一行代码时,您的任务完成。例如,当任务完成写入文件时,您可以向自己或用户发送电子邮件。至于链接,你的应用程序可以定期查询服务器,查看文件是否可用。当它找到一个文件时,它可以显示一个链接来检索它。如果您总是对数据存储模型中的所有条目执行操作,则可以使用mapreduce。