2017-02-18 31 views

回答

0

如果你想確保只有一個你特別ActiveJob工作的實例在運行時間,然後實現互斥鎖。使用像redis-mutex這樣的寶石很容易(如果您已經使用Redis with sidekiq):

def perform 
    RedisMutex.with_lock(:your_lock_name, expire: XXX_SECONDS) do 
    # do something exclusively 
    rescue RedisMutex::LockError 
    Rails.logger.debug "Another job is running, exiting ..." 
    end 
end 
相關問題