每周一次cron作业在我的一个app引擎项目中调用以下函数:
func cleanMealsFromDatabase(context appengine.Context) error {
query := datastore.NewQuery("Essen").Limit(1000).KeysOnly()
keys, err := query.GetAll(context, nil)
if err != nil {
return err
}
return datastore.DeleteMulti(context, keys)
}
我正在尝试批量删除一堆数据存储区实体。该函数被正确调用,但
query.GetAll(context, nil)
似乎总是返回错误。我做错了吗?
答案 0 :(得分:0)
好的,我现在知道出了什么问题。当我最终弄清楚如何在应用引擎中记录错误时,它说:
API error 1 (datastore_v3: BAD_REQUEST): cannot write more than 500 entities in a single call
所以我必须做的就是将 Limit 参数从 1000 更改为 500 ,如下所示:
query := datastore.NewQuery("Essen").Limit(500).KeysOnly()
现在它的工作方式与预期一致。