A basic Sidekiq worker includes the Sidekiq::Worker module and defines a perform method:
class EmailWorker
include Sidekiq::Worker
def perform(user_id, subject)
user = User.find(user_id)
UserMailer.notification(user, subject).deliver_now
end
end
# Enqueue the job
EmailWorker.perform_async(123, "Welcome!")
The worker must be serializable, so pass simple data types (strings, numbers, arrays, hashes) rather than complex objects.