Debug Lua

Being able to debug the lua scripts proved to be paramout while building out version 7. Since logging slows down the processing it is turned off by default.

Background

While debugging the issues from earlier versions I found it difficult to debug the lua script. Sure you can enter redis-cli monitor and watch what is happening in redis but it doesn’t give you any context.

For me it was important to learn in what order and more specifically in what script changes took place.

Usage

SidekiqUniqueJobs.configure do |config|
  config.debug_lua = ENV["DEBUG_LUA"] == "true"
end

It is a

  1. Changelog
  2. Debugging of Lua scripts
  3. Detail about each lock
  4. Better extension to Sidekiq::Web
  5. Limiting of locks - allow a configurable number of simultaneous workers with the same unique lock
  6. Automatic cleanup of orphaned locks
  7. Worker validation - validates the sidekiq_options for unique configuration