在 instance 启动和停止时收到通知
appengine 在进行自动扩缩时可能会频繁的停止或启动 instance,应用往往在启动时需要进行一些数据预热处理, appengine 提供了 /_ah/warmup
回调,在应用启动时得到通知,需要注意的是 /_ah/warmup
只有在自动扩缩(Automatic scaling)模式下生效。
除了 warmup 回调外,/_ah/start
回调也能在 instance 启动时收到通知,与之对应的还有 /_ah/stop
回调,这个回调用于通知 instance 当前实例即将被关闭,stop 必须在 30s 内处理完。这两个回调在手动扩缩(Manual scaling)模式下生效。对于基础扩缩(Basic Scaling),/_ah/start
并不是在 instance 一启动后立即调用,而是在 instance 启动且收到其第一个请求时才会调用。
/_ah/start
回调请求的响应状态码会影响 instance 的行为,http status 为 200–299 或 404 时 appengine 认为 instance 成功启动,否则将停止 instance。
datastore 批量操作数量上限
datastore 操作支持事务,但有些限制,在一次事务中,你进行的 create, update 或 delete 操作的 entities 数量上限是 500 个,事务数据量大小上限为 10M。
pubsub subscription 命名注意,删除
pubsub 相关的资源(tpoic, subscription)名称具有唯一性,并且格式上有一定要求:
projects/project-identifier/collection/relative-name
此外需要遵守命名规则,否则将无法成功创建资源。
当 pubsub topic 删除后,改主题的订阅者并没有被删除,消息队列中的消息对于这些 订阅者仍然是有效的。这些订阅者此时的主题为_deleted-topic_
。如果尝试创建与被删除主题同名的主题,短期内将出错无法创建。所以再删除时应删除所有订阅者,再删除主题。
网友评论