我遵循这个指南https://cloud.google.com/appengine/docs/python/console/datastore-backing-up-restoring#restoring_data_to_another_app 介绍如何在一个GAE应用程序中备份数据,并在另一个应用程序中恢复数据。在
但每次在目标应用程序上恢复备份时,都会出现错误:
The API call urlfetch.Fetch() took too long to respond and was cancelled.
你知道我做错了什么吗?在
你的urlfetch.获取()的响应时间太长(超过60秒),因此超时。这是一篇关于它的文章https://cloud.google.com/appengine/articles/deadlineexceedederrors
一种解决方案是使用任务队列。任务队列的超时时间更长,或者更恰当地说,允许您将作业分割成更小的部分。 https://cloud.google.com/appengine/docs/python/taskqueue/
下面是一个简单的示例,演示如何使用“推送”任务队列来完成此操作。我意识到从一个数据存储模型转换到另一个可能不是您想要的冗余。您可能希望将数据存储实体完全备份到另一个应用程序或其他类型的数据库或云服务。您还可能有多个模型正在备份。这只是一个使用cron作业每隔24小时设置和调度“推送”任务队列的简单示例:
首先,您必须在应用程序yaml公司名称:
接下来,您需要创建第二个数据存储模型,我们将其称为“备份”,只需复制粘贴旧模型并将其重命名为“备份”-使用同一模型的相同版本而不是同一模型有助于备份,因为您可以为相同的主数据和备份提供相同的密钥:
^{pr2}$下一步在您的克罗恩·亚姆公司名称:
添加/备份到应用程序yaml处理程序:
最后,创建我的备份.py在
我希望这有帮助。在
相关问题 更多 >
编程相关推荐