feat: set lock timeout to 1 second (#8661)

This commit is contained in:
Shivam Mishra
2024-01-12 08:28:07 +05:30
committed by GitHub
parent 1c44445088
commit 10076c6a3e
2 changed files with 4 additions and 4 deletions

View File

@@ -1,6 +1,6 @@
class SendOnSlackJob < MutexApplicationJob class SendOnSlackJob < MutexApplicationJob
queue_as :medium queue_as :medium
retry_on LockAcquisitionError, wait: 1.second, attempts: 6 retry_on LockAcquisitionError, wait: 1.second, attempts: 8
def perform(message, hook) def perform(message, hook)
with_lock(::Redis::Alfred::SLACK_MESSAGE_MUTEX, conversation_id: message.conversation_id, reference_id: hook.reference_id) do with_lock(::Redis::Alfred::SLACK_MESSAGE_MUTEX, conversation_id: message.conversation_id, reference_id: hook.reference_id) do

View File

@@ -12,10 +12,10 @@
# end # end
# #
class Redis::LockManager class Redis::LockManager
# Default lock timeout set to 2 seconds. This means that if the lock isn't released # Default lock timeout set to 1 second. This means that if the lock isn't released
# within 2 seconds, it will automatically expire. # within 1 second, it will automatically expire.
# This helps to avoid deadlocks in case the process holding the lock crashes or fails to release it. # This helps to avoid deadlocks in case the process holding the lock crashes or fails to release it.
LOCK_TIMEOUT = 2.seconds LOCK_TIMEOUT = 1.second
# Attempts to acquire a lock for the given key. # Attempts to acquire a lock for the given key.
# #