with_advisory_lock 与或一起使用时,将ruby 2.4、2.5和2.6的咨询锁定(mutexes)添加到ActiveRecord 4.2、5.x和6.0。 SQLite求助于文件锁定。 什么是“咨询锁”? 咨询锁是一种用于确保没有两个进程同时运行某个进程。 当咨询锁由您的数据库服务器提供动力时,只要它不是SQLite,那么您的互斥锁就会跨越主机。 用法 该gem自动在所有ActiveRecord模型中包括WithAdvisoryLock模块。 这是一个如何使用它的示例,其中User是ActiveRecord模型,而lock_name是一些字符串: User . with