0
我有一堆需要從數據庫獲取單個記錄(行)的芹菜工作者。Rethinkdb - 具有特定條件的原子檢索/更新行
它應該只會在「last_used」字段後經過60秒後返回,並且一旦返回,它應該用當前時間更新「last_used」(因此其他有0次延遲的無限重試的工人不會得到同一個)
是否有可能在db級別執行所有這些操作?我不會有任何其他來源更新這個「last_used」字段。
下面是單行的樣子。
{"id": "..." "last_used": "2016-06-31 00:37:21.241833", "item": "string"}
我想:
conn = r.connect(host='localhost', port=28015)
do = r.db('database').table('tb').order_by(index=("last_used")).limit(1).update(
{'last_used': r.now()}
, return_changes=True).run(conn)
而且這是行不通的,它改變之前的多個工人得到返回的同一行。