# Make sure you have Sinatra installed, then start sidekiq with # ./bin/sidekiq -r ./examples/sinkiq.rb # Simply run Sinatra with # ruby examples/sinkiq.rb # and then browse to http://localhost:4567 # require 'sinatra' require 'sidekiq/worker' $redis = Sidekiq::RedisConnection.create class SinatraWorker include Sidekiq::Worker def perform(msg="lulz you forgot a msg!") $redis.lpush("sinkiq-example-messages", msg) end end get '/' do @failed = $redis.get('stat:failed') @processed = $redis.get('stat:processed') @messages = $redis.lrange('sinkiq-example-messages', 0, -1) erb :index end post '/msg' do SinatraWorker.perform_async params[:msg] redirect to('/') end __END__ @@ layout
<%= msg %>
<% end %>