pg_lock:使用Postgres咨询锁来隔离跨机器的代码执行

时间:2024-05-20 18:16:04
【文件属性】:

文件名称:pg_lock:使用Postgres咨询锁来隔离跨机器的代码执行

文件大小:14KB

文件格式:ZIP

更新时间:2024-05-20 18:16:04

Ruby

密码锁 使用可以使您跨进程和机器同步操作。 安装 这个宝石需要Ruby 2.1+ 将此行添加到您的应用程序的Gemfile中: gem 'pg_lock' 然后执行: $ bundle 或将其自己安装为: $ gem install pg_lock 用法 创建一个PgLock.new实例,并调用lock方法以确保代码块的独占执行。 PgLock . new ( name : "all_your_base" ) . lock do # stuff end 现在,无论在任何数量的机器上执行此代码多少次,一次都可以执行一个代码块。 基于会话的锁定 postgres锁在不同的数据库会话中是唯一的,如果同一会话尝试获取相同的锁,它将成功。 因此,尽管PgLock将保证在机器和进程之间的唯一执行,但它不会阻止同一进程(共享相同的连接会话)运行。 例如,尽管您认为在此示例中中间块不会运


【文件预览】:
pg_lock-master
----.gitignore(87B)
----.rspec(31B)
----bin()
--------setup(115B)
--------console(332B)
----.travis.yml(280B)
----CODE_OF_CONDUCT.md(1KB)
----CHANGELOG.md(584B)
----pg_lock.gemspec(1KB)
----LICENSE.txt(1KB)
----.github()
--------workflows()
----spec()
--------pg_lock_spec.rb(4KB)
--------spec_helper.rb(2KB)
--------fixtures()
----README.md(6KB)
----lib()
--------pg_lock.rb(3KB)
--------pg_lock()
----Gemfile(92B)
----Rakefile(137B)

网友评论