我有一堆需要从数据库中获取单个记录(行)的芹菜工人。
只有在“last_used”字段后 60 秒后才应该返回它,并且一旦返回,它应该用当前时间更新“last_used”(因此其他具有 0 延迟无限重试的工作人员不会得到相同的)
是否可以在数据库级别完成所有这些操作?我不会有任何其他来源更新这个“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)
而且它不起作用,多个工作人员在更改之前返回同一行。