jjzjj

Appengine

全部标签

google-app-engine - 使用 golang 在 Appengine 数据存储中强制执行 key 唯一性的最佳方式(性能方面)是什么?

我想使用用户输入的字符串作为实体的唯一键。假设用户输入的key已经存在于数据存储区中,我想返回一个错误。由于golang数据存储API只有Put和Insert,执行唯一性约束的最佳方法是什么?目前我正在尝试做...Query(T).Filter("Key=",key)…其中键是根据用户输入的值构造的,以测试重复项的存在,但是2个相同的键似乎返回false与相等(=)运算符在过滤器中,但在对结果调用Equal时为true。如何按键查询? 最佳答案 你应该使用魔法常量__key__来按键过滤:Query(T).Filter("__key

google-app-engine - 使用 golang 在 Appengine 数据存储中强制执行 key 唯一性的最佳方式(性能方面)是什么?

我想使用用户输入的字符串作为实体的唯一键。假设用户输入的key已经存在于数据存储区中,我想返回一个错误。由于golang数据存储API只有Put和Insert,执行唯一性约束的最佳方法是什么?目前我正在尝试做...Query(T).Filter("Key=",key)…其中键是根据用户输入的值构造的,以测试重复项的存在,但是2个相同的键似乎返回false与相等(=)运算符在过滤器中,但在对结果调用Equal时为true。如何按键查询? 最佳答案 你应该使用魔法常量__key__来按键过滤:Query(T).Filter("__key

google-app-engine - 了解 AppEngine 的 Go 运行时上的 "runtime mcycles"和 "cpu_ms"会计

我有一个Go/AppEngine应用程序,我正在尝试对其进行微调以优化当前受cpu限制的并发请求。在这样做的过程中,我看到日志中的cpu_ms和仪表板中的averageruntimemcycles看起来像是异常值。我有几个不同的端点,它们的CPU使用情况似乎与现实完全不符,但其中一个特别突出。这是一个简单的处理程序,大致如下所示:funcThangHandler(whttp.ResponseWriter,r*http.Request){ctx:=appengine.NewContext(r)varorgIdstringcookie,err:=r.Cookie(orgCookieKey)

google-app-engine - 了解 AppEngine 的 Go 运行时上的 "runtime mcycles"和 "cpu_ms"会计

我有一个Go/AppEngine应用程序,我正在尝试对其进行微调以优化当前受cpu限制的并发请求。在这样做的过程中,我看到日志中的cpu_ms和仪表板中的averageruntimemcycles看起来像是异常值。我有几个不同的端点,它们的CPU使用情况似乎与现实完全不符,但其中一个特别突出。这是一个简单的处理程序,大致如下所示:funcThangHandler(whttp.ResponseWriter,r*http.Request){ctx:=appengine.NewContext(r)varorgIdstringcookie,err:=r.Cookie(orgCookieKey)

google-app-engine - Golang - AppEngine Datastore GetMulti() 在返回 MultiError 时是否返回无效数据?

我正在调用AppEngine数据存储以获取可能存储或不存储的数据;我不关心多重错误,除非所有多重错误条目都返回错误。err:=datastore.GetMulti(context,keys,data)iferr_entries,ok:=err.(appengine.MultiError);ok{for_,err_entry:=rangeerr_entries{iferr_entry==nil{returndata,nil}}}returndata,err我的问题是,假设多重错误的一个err_entry为nil,返回的数据是否将包含与多重错误中的错误匹配的键的错误、空或损坏的数据条目。它

google-app-engine - Golang - AppEngine Datastore GetMulti() 在返回 MultiError 时是否返回无效数据?

我正在调用AppEngine数据存储以获取可能存储或不存储的数据;我不关心多重错误,除非所有多重错误条目都返回错误。err:=datastore.GetMulti(context,keys,data)iferr_entries,ok:=err.(appengine.MultiError);ok{for_,err_entry:=rangeerr_entries{iferr_entry==nil{returndata,nil}}}returndata,err我的问题是,假设多重错误的一个err_entry为nil,返回的数据是否将包含与多重错误中的错误匹配的键的错误、空或损坏的数据条目。它

google-app-engine - http.DefaultTransport 和 http.DefaultClient 在 AppEngine 中不可用,但库使用它们

我正在使用一个库(gotwilio),它使用http.Client对象向服务器发出http请求:client:=&http.Client{}然而,这在appengine上失败并显示以下错误消息:http.DefaultTransportandhttp.DefaultClientarenotavailableinAppEngine这是有道理的。但是,由于库直接使用这些,所以我无法告诉库使用appengine提供的基于urlfetch的传输。有没有办法让&http.Client{}总是返回一个与urlfetch一起工作的客户端....在java中,这在appengine上也是可能的。(UR

google-app-engine - http.DefaultTransport 和 http.DefaultClient 在 AppEngine 中不可用,但库使用它们

我正在使用一个库(gotwilio),它使用http.Client对象向服务器发出http请求:client:=&http.Client{}然而,这在appengine上失败并显示以下错误消息:http.DefaultTransportandhttp.DefaultClientarenotavailableinAppEngine这是有道理的。但是,由于库直接使用这些,所以我无法告诉库使用appengine提供的基于urlfetch的传输。有没有办法让&http.Client{}总是返回一个与urlfetch一起工作的客户端....在java中,这在appengine上也是可能的。(UR

google-app-engine - 如何在 AppEngine 中使用 goroutine?

我正在使用CloudEndpoints和Go,我正在尝试使用goroutine以异步方式调用方法。当我在本地运行以下代码时,我可以看到调试打印,但在服务器上似乎没有调用该方法。我基本上是在尝试做godoStuff()returntype 最佳答案 AppEngine的Go运行时支持goroutines,引用自文档:GoRuntimeEnvironment:Introduction:TheGoruntimeenvironmentforAppEngineprovidesfullsupportforgoroutines,butnotfor

google-app-engine - 如何在 AppEngine 中使用 goroutine?

我正在使用CloudEndpoints和Go,我正在尝试使用goroutine以异步方式调用方法。当我在本地运行以下代码时,我可以看到调试打印,但在服务器上似乎没有调用该方法。我基本上是在尝试做godoStuff()returntype 最佳答案 AppEngine的Go运行时支持goroutines,引用自文档:GoRuntimeEnvironment:Introduction:TheGoruntimeenvironmentforAppEngineprovidesfullsupportforgoroutines,butnotfor