我有这种奇怪的情况,我想一次将一个操作限制为一个用户而不使用任何数据库?
谢谢你的帮助。
也许你可以使用类变量。类变量不仅适用于一个实例,而且在类的每个实例中都是相同的。
def do_something
if @@locked
render text: "Sorry, somebody else working here."
else
@@locked = true
# do the stuff you need to do here
@@locked = false
end
end
require FileUtils
def lockable_action
if File.exists? "/tmp/lock"
# sorry, I'm locked
else
File.open("/tmp/lock","w") {|f| f.write("1")
# do your thing
FileUtils.rm "/tmp/lock"
end
endk