1

我正在观察 Celery 的一个非常奇怪的错误。我的任务文件中的一些代码发出了一些我确定应该返回 1 个结果的 get 请求,但它们有时会返回 32 个结果。发生此错误时,返回的结果数始终为 32。

以下是两个不同的 get 调用的例外情况:

MultipleObjectsReturned: get() returned more than one User -- 
  it returned 32! Lookup parameters were {'id__exact': 9503}

MultipleObjectsReturned: get() returned more than one Avatar -- 
   it returned 32! Lookup parameters were {'id__exact': 372}

对于非 celery 视图,这绝不是问题。我也在使用 johnny-cache,所以我怀疑它可能是罪魁祸首,将 get() 请求发送到 memcache 而不是数据库。有人知道发生了什么吗?

4

1 回答 1

2

事实证明,这与使用 johnny-cache 和 celery 有关。删除 johnny 缓存,我们不再有任何问题。

于 2014-02-25T15:37:09.147 回答