Sha256: bedae3ae16783aadb917b452f46bcd53e593707fff18afa6035ac3beee58bfdc

Contents?: true

Size: 1.16 KB

Versions: 5

Compression:

Stored size: 1.16 KB

Contents

# 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
<html>
  <head>
    <title>Sinatra + Sidekiq</title>
    <body>
      <%= yield %>
    </body>
</html>

@@ index
  <h1>Sinata + Sidekiq Example</h1>
  <h2>Failed: <%= @failed %></h2>
  <h2>Processed: <%= @processed %></h2>

  <form method="post" action="/msg">
    <input type="text" name="msg">
    <input type="submit" value="Add Message">
  </form>

  <a href="/">Refresh page</a>

  <h3>Messages</h3>
  <% @messages.each do |msg| %>
    <p><%= msg %></p>
  <% end %>

Version data entries

5 entries across 5 versions & 1 rubygems

Version Path
sidekiq-0.9.1 examples/sinkiq.rb
sidekiq-0.9.0 examples/sinkiq.rb
sidekiq-0.8.0 examples/sinkiq.rb
sidekiq-0.7.0 examples/sinkiq.rb
sidekiq-0.6.0 examples/sinkiq.rb