
エントリーの編集

エントリーの編集は全ユーザーに共通の機能です。
必ずガイドラインを一読の上ご利用ください。
記事へのコメント0件
- 注目コメント
- 新着コメント
このエントリーにコメントしてみましょう。
注目コメント算出アルゴリズムの一部にLINEヤフー株式会社の「建設的コメント順位付けモデルAPI」を使用しています

- バナー広告なし
- ミュート機能あり
- ダークモード搭載
関連記事
Railsで排他制御 - Qiita
module Lockable extend ActiveSupport::Concern class UnableLockError < StandardError; end KEY_PREF... module Lockable extend ActiveSupport::Concern class UnableLockError < StandardError; end KEY_PREFIX = 'lock/' def with_lock(key, expire = 30.seconds) real_key = "#{KEY_PREFIX}#{key}" value = SecureRandom.hex(10) raise UnableLockError unless lock(real_key, value, expire) begin yield ensure unlock(real_key, value) end end private def lock(key, value, expire) redis_client.set(key, value, ex: expire,