From 9b0e11bcd934c0ded6136934c54fdc3b6f2b8fc4 Mon Sep 17 00:00:00 2001 From: booboy Date: Wed, 6 Feb 2019 00:21:56 -0600 Subject: [PATCH] moved examples and added an example of sinatra running sidekiq to view the paste jobs easier in a web ui without needing all of rails --- {lib/examples => examples}/examples.rb | 2 +- examples/sinkiq.rb | 61 +++++++++++++++++++ ...astebinner_download_raw_json_paste.service | 0 .../pastebinner_download_raw_json_paste.timer | 0 .../pastebinner_download_raw_paste.service | 0 .../pastebinner_download_raw_paste.timer | 0 pastebinner.gemspec | 3 +- 7 files changed, 64 insertions(+), 2 deletions(-) rename {lib/examples => examples}/examples.rb (97%) create mode 100644 examples/sinkiq.rb rename {lib/examples => examples}/systemd/pastebinner_download_raw_json_paste.service (100%) rename {lib/examples => examples}/systemd/pastebinner_download_raw_json_paste.timer (100%) rename {lib/examples => examples}/systemd/pastebinner_download_raw_paste.service (100%) rename {lib/examples => examples}/systemd/pastebinner_download_raw_paste.timer (100%) diff --git a/lib/examples/examples.rb b/examples/examples.rb similarity index 97% rename from lib/examples/examples.rb rename to examples/examples.rb index 512c7be..706c917 100755 --- a/lib/examples/examples.rb +++ b/examples/examples.rb @@ -1,6 +1,6 @@ #!/usr/bin/env ruby -require '../pastebinner' +require '../lib/pastebinner' ######################## TESTING #################################################### ##################################################################################### diff --git a/examples/sinkiq.rb b/examples/sinkiq.rb new file mode 100644 index 0000000..028c577 --- /dev/null +++ b/examples/sinkiq.rb @@ -0,0 +1,61 @@ +# 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' +require 'redis' +require 'sidekiq/api' + +$redis = Redis.new + +class SinatraWorker + include Sidekiq::Worker + + def perform(msg="lulz you forgot a msg!") + $redis.lpush("sinkiq-example-messages", msg) + end +end + +get '/' do + stats = Sidekiq::Stats.new + @failed = stats.failed + @processed = stats.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 + + + Sinatra + Sidekiq + + <%= yield %> + + + +@@ index +

Sinatra + Sidekiq Example

+

Failed: <%= @failed %>

+

Processed: <%= @processed %>

+ +
+ + +
+ + Refresh page + +

Messages

+ <% @messages.each do |msg| %> +

<%= msg %>

+ <% end %> diff --git a/lib/examples/systemd/pastebinner_download_raw_json_paste.service b/examples/systemd/pastebinner_download_raw_json_paste.service similarity index 100% rename from lib/examples/systemd/pastebinner_download_raw_json_paste.service rename to examples/systemd/pastebinner_download_raw_json_paste.service diff --git a/lib/examples/systemd/pastebinner_download_raw_json_paste.timer b/examples/systemd/pastebinner_download_raw_json_paste.timer similarity index 100% rename from lib/examples/systemd/pastebinner_download_raw_json_paste.timer rename to examples/systemd/pastebinner_download_raw_json_paste.timer diff --git a/lib/examples/systemd/pastebinner_download_raw_paste.service b/examples/systemd/pastebinner_download_raw_paste.service similarity index 100% rename from lib/examples/systemd/pastebinner_download_raw_paste.service rename to examples/systemd/pastebinner_download_raw_paste.service diff --git a/lib/examples/systemd/pastebinner_download_raw_paste.timer b/examples/systemd/pastebinner_download_raw_paste.timer similarity index 100% rename from lib/examples/systemd/pastebinner_download_raw_paste.timer rename to examples/systemd/pastebinner_download_raw_paste.timer diff --git a/pastebinner.gemspec b/pastebinner.gemspec index 8bc6dfd..56c8c76 100644 --- a/pastebinner.gemspec +++ b/pastebinner.gemspec @@ -37,5 +37,6 @@ Gem::Specification.new do |spec| spec.add_runtime_dependency 'pry', '~> 0.11' spec.add_runtime_dependency 'rest-client', '~> 2.0' spec.add_runtime_dependency 'sidekiq', '~> 5.2.5' - spec_add_runtime_dependency 'redis', '~> 4.1.0' + spec.add_runtime_dependency 'redis', '~> 4.1.0' + spec.add_runtime_dependency 'sinatra', '~> 2.0.5' end