在本文中,我们将给您介绍关于删除GoogleAppEngine中的所有数据的详细内容,并且为您解答彻底删除google的相关问题,此外,我们还将为您提供关于GoogleAppEngine和Google
在本文中,我们将给您介绍关于删除Google App Engine中的所有数据的详细内容,并且为您解答彻底删除google的相关问题,此外,我们还将为您提供关于Google App Engine 和 Google Compute Engine 有什么区别?、Google App Engine中的全局异常处理、Google App Engine中的竞争问题、Google App Engine中的自定义身份验证的知识。
本文目录一览:- 删除Google App Engine中的所有数据(彻底删除google)
- Google App Engine 和 Google Compute Engine 有什么区别?
- Google App Engine中的全局异常处理
- Google App Engine中的竞争问题
- Google App Engine中的自定义身份验证
删除Google App Engine中的所有数据(彻底删除google)
我想清除Google App
Engine中特定种类的所有数据。做这个的最好方式是什么?我写了一个删除脚本(hack),但是由于有这么多数据,几百条记录之后超时了。
答案1
小编典典Google的官方回答是,您必须删除多个请求中的多个块。您可以使用AJAX,meta
refresh或从脚本请求URL,直到没有剩余实体为止。
Google App Engine 和 Google Compute Engine 有什么区别?
我想知道 App Engine 和 Compute Engine 之间的区别是什么。任何人都可以向我解释其中的区别吗?
Google App Engine中的全局异常处理
而不是将我的整个代码封装在try {} except {}块中,是否有某种方式可以全局捕获异常?
基本上,我正在寻找一种具有全局异常处理程序的方法,该处理程序将处理为Google App Engine编写的python应用程序中的所有未处理的异常
答案1
小编典典如果您使用的是webapp框架,则应该已经定义了RequestHandler的子类作为基类,所有应用程序的处理程序都对其进行了扩展。您可以简单地覆盖handle_exception,它用作所有未捕获的异常的全局异常处理程序。
该默认实现调用self.error(500),记录的异常,如果调试是,输出一个堆栈跟踪。
如果您使用的是其他框架,则可以编写一个WSGI中间件,该中间件调用包装的WSGI应用程序,并捕获所有引发的异常,并根据需要对其进行处理。
Google App Engine中的竞争问题
我在Google App Engine中遇到争用问题,并尝试了解发生了什么。
我有一个注释为的请求处理程序:
@ndb.transactional(xg=True,retries=5)
..并且在该代码中,我获取了一些东西,更新了其他东西,等等。但是有时在请求期间日志中会出现这样的错误:
16:06:20.930 suspended generator _get_tasklet(context.py:329) raised TransactionFailedError(too much contention on these datastore entities. please try again. entity group key: app: "s~my-appname"
path <
Element {
type: "PlayerGameStates"
name: "hannes2"
}
>
)
16:06:20.930 suspended generator get(context.py:744) raised TransactionFailedError(too much contention on these datastore entities. please try again. entity group key: app: "s~my-appname"
path <
Element {
type: "PlayerGameStates"
name: "hannes2"
}
>
)
16:06:20.930 suspended generator get(context.py:744) raised TransactionFailedError(too much contention on these datastore entities. please try again. entity group key: app: "s~my-appname"
path <
Element {
type: "PlayerGameStates"
name: "hannes2"
}
>
)
16:06:20.936 suspended generator transaction(context.py:1004) raised TransactionFailedError(too much contention on these datastore entities. please try again. entity group key: app: "s~my-appname"
path <
Element {
type: "PlayerGameStates"
name: "hannes2"
}
>
)
..之后是堆栈跟踪。如果需要,我可以使用整个堆栈跟踪进行更新,但这有点长。
我不明白为什么会这样。查看我的代码行中的异常,我get_by_id
在一个完全不同的实体(Round)上运行。错误消息中提到的名称为“
hannes2”的“
PlayerGameStates”是另一个实体GameState的父对象,GameState是get_async
从数据库的前几行中获得的:
# GameState is read by get_async
gamestate_future = GameState.get_by_id_async(id,ndb.Key('PlayerGameStates',player_key))
...
gamestate = gamestate_future.get_result()
...
奇怪的是,没有对该实体进行数据存储写操作。我的理解是,如果同时并行更新同一实体,则可能会出现争用错误。或者,如果在短时间内发生太多写入,则可能会出现争用错误。
但是在阅读实体时也会发生这种情况吗?(“ suspended generator get ..”
??)而且,这是在5次ndb.transaction重试之后发生的吗?我在日志中看不到任何表明已重试的内容。
任何帮助是极大的赞赏。
Google App Engine中的自定义身份验证
有谁知道或知道我可以学习如何使用Python和Google App Engine创建自定义身份验证过程的地方?
我不想使用Google帐户进行身份验证,也希望能够创建自己的用户。
如果不是专门针对Google App Engine,是否有关于如何使用Python和Django实现身份验证的资源?
关于删除Google App Engine中的所有数据和彻底删除google的问题就给大家分享到这里,感谢你花时间阅读本站内容,更多关于Google App Engine 和 Google Compute Engine 有什么区别?、Google App Engine中的全局异常处理、Google App Engine中的竞争问题、Google App Engine中的自定义身份验证等相关知识的信息别忘了在本站进行查找喔。
本文标签: