Sha256: ca30294d0a972f0ba26d56129e661af1fc04fc9ac5e21b217599f16722e2d430

Contents?: true

Size: 843 Bytes

Versions: 4

Compression:

Stored size: 843 Bytes

Contents

pg_advisory_locker
==================

Helper for calling PostgreSQL functions: pg_advisory_lock,
pg_advisory_try_lock, and pg_advisory_unlock.

Examples
========

Basic example of passing a block to the locker

    class Foo < ActiveRecord::Base
      include PgAdvisoryLocker

      def self.lock_for_whatever(&block)
	return lock_record(0, &block)
      end

      def self.do_something
        lock_for_whatever do
          # do something here
        end
      end
    end

Advisory lock on id:

    class Foo < ActiveRecord::Base
      include PgAdvisoryLocker

      def lock_for_whatever
	return advisory_lock
      end

      def unlock_for_whatever
	return advisory_unlock
      end

      def do_something
        lock_for_whatever
	begin
          # do something
        ensure
	 unlock_for_whatever
        end
      end
    end

Version data entries

4 entries across 4 versions & 1 rubygems

Version Path
pg_advisory_locker-1.0.2 README
pg_advisory_locker-1.0.1 README
pg_advisory_locker-1.0.0 README
pg_advisory_locker-0.9.0 README