Giter Club home page Giter Club logo

sidekiq_status's Introduction

SidekiqStatus

Build Status Dependency Status Test coverage

Sidekiq extension to track job execution statuses and returning job results back to the client in a convenient manner

Installation

Add this line to your application's Gemfile:

gem 'sidekiq_status'

And then execute:

$ bundle

Usage

Basic

Create a status-friendly worker by include SidekiqStatus::Worker module having #perform method with Sidekiq worker-compatible signature:

class MyWorker
   include SidekiqStatus::Worker

   def perform(arg1, arg2)
      # do something
   end
end

Now you can enqueue some jobs for this worker

jid = MyWorker.perform_async('val_for_arg1', 'val_for_arg2')

If a job is rejected by some Client middleware, #perform_async returns false (as it does with ordinary Sidekiq worker).

Now, you can easily track the status of the job execution:

status_container = SidekiqStatus::Container.load(jid)
status_container.status # => 'waiting'

When a jobs is scheduled its status is waiting. As soon sidekiq worker begins job execution its status is changed to working. If the job successfully finishes (i.e. doesn't raise an unhandled exception) its status is complete. Otherwise its status is failed.

Communication from Worker to Client

SidekiqStatus::Container has some attributes and SidekiqStatus::Worker module extends your Worker class with a few methods which allow Worker to leave some info for the subsequent fetch by a Client. For example you can notify client of the worker progress via at and total= methods

class MyWorker
   include SidekiqStatus::Worker

   def perform(arg1, arg2)
      objects = Array.new(200) { 'some_object_to_process' }
      self.total = objects.count
      objects.each_with_index do |object, index|
        at(index, "Processing object #{object}")
        object.process!
      end
   end
end

Lets presume a client refreshes container at the middle of job execution (when it's processing the object number 50):

container = SidekiqStatus::Container.load(jid) # or container.reload

container.status       # => 'working'
container.at           # => 50
container.total        # => 200
container.pct_complete # => 25
container.message      # => 'Processing object #{50}'

Also, a job can leave for the client any custom payload. The only requirement is json-serializeability

class MyWorker
   include SidekiqStatus::Worker

   def perform(arg1, arg2)
      objects = Array.new(5) { |i| i }
      self.total = objects.count
      result = objects.inject([]) do |accum, object|
        accum << "result #{object}"
        accum
      end

      self.payload= result
   end
end

Then a client can fetch the result payload

container = SidekiqStatus::Container.load(jid)
container.status # => 'complete'
container.payload # => ["result 0", "result 1", "result 2", "result 3", "result 4"]

SidekiqStatus stores all container attributes in a separate redis key until it's explicitly deleted via container.delete method or until redis key expires (see SidekiqStatus::Container.ttl class_attribute).

Job kill

Any job which is waiting or working can be killed. A working job is killed at the moment of container access.

container = SidekiqStatus::Container.load(jid)
container.status # => 'working'
container.killable? # => true
container.should_kill # => false

container.request_kill

container.status # => 'working'
container.killable? # => false
container.should_kill # => true

sleep(1)

container.reload
container.status # => 'killed'

Sidekiq web integration

SidekiqStatus also provides an extension to Sidekiq web interface with /statuses page where you can track and kill jobs and clean status containers.

  1. Setup Sidekiq web interface according to Sidekiq documentation
  2. Add "require 'sidekiq_status/web'" beneath "require 'sidekiq/web'"

Changelog

1.2.0

  • Support for sidekiq 4.2, integration with the new non-sinatra-based Sidekiq::Web (ncuesta)

1.1.0

  • Support for sidekiq 4.1, 4.0, 3.5, 3.4
  • No more replacement of original job arguments with generated unique jid. This is not needed anymore as Sidekiq started to do it. This change should make integration with other middlewares easier.
  • Dropped support for sidekiq versions older than 3.3
  • Dropped support for ruby 1.9.x, 2.0.x
  • Experimental support for Rubinius

1.0.7

  • Sidekiq 2.16 support

1.0.6

  • Sidekiq 2.15 support

1.0.5

  • Sidekiq 2.14 support
  • Do not create (and display in sidekiq_status/web) status containers for the jobs scheduled to run in the future by the means of perform_at/perform_in (mhfs)
  • Sidekiq web templates converted from .slim to .erb
  • Allow specifying worker name as a String (gumayunov)
  • Added ruby 2.0 to travis build matrix
  • Don't be too smart in extending Sinatra template search path (springbok)
  • Show worker names and adjust sidekiq-web template tags to conform to Sidekiq conventions (mhfs)

1.0.4

  • Sidekiq 2.10 and 2.11 support

1.0.3

  • Include SidekiqStatus::Web app into Sidekiq::Web app unobtrusively (pdf)
  • sidekiq 2.8.0 and 2.9.0 support

1.0.2

  • sidekiq 2.7.0 support
  • sidekiq integration tests
  • Display progress bar and last message in sidekiq-web tab (leandrocg)

1.0.1

  • sidekiq 2.6.x support

1.0.0

  • First release

Roadmap

  • Add some sidekiq-web specs
  • Support running inline with sidekiq/testing

Contributing

  1. Fork it
  2. Create your feature branch (git checkout -b my-new-feature)
  3. Don't forget to write specs. Make sure rake spec passes
  4. Commit your changes (git commit -am 'Added some feature')
  5. Push to the branch (git push origin my-new-feature)
  6. Create new Pull Request

Copyright

SidekiqStatus © 2012-2013 by Artem Ignatyev. SidekiqStatus is licensed under the MIT license

sidekiq_status's People

Contributors

benshippee avatar cryo28 avatar dwbutler avatar geoff-lee-lendesk avatar gogolok avatar jgeiger avatar leandrocg avatar mhfs avatar pdf avatar springbok avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar

sidekiq_status's Issues

Get jobs based on a attribute/metadata?

Not 100% sure this is the right extension but can sidekiq_status but used to store job attributes/metadata such as a "username" and then use sidekiq_status to query for all jobs "assigned" to that "username"?

Thanks

Bust arguments on retry

If job failed than jid will be passed into arguments on retry, because sidekiq don't know about jid wrapping.

SidekiqStatus jobs enqueued with perform_at/perform_in raise an exception when they run

stack trace from Sidekiq:

SidekiqStatus::Container::StatusNotFound: 0bb902282a1ad80d35fb5919
sidekiq_status-1.2.0/lib/sidekiq_status/container.rb:149:in `load_data'
sidekiq_status-1.2.0/lib/sidekiq_status/container.rb:128:in `load'
sidekiq_status-1.2.0/lib/sidekiq_status/worker.rb:18:in `perform'

Is it related to this change?

Do not create (and display in sidekiq_status/web) status containers for the jobs scheduled to run in the future by the means of perform_at/perform_in (mhfs)

Error in web interface

Using Sidekiq 4.1.1 and sidekiq_status 1.1.0

2016-05-23 11:42:02 INFO [request_id:, param_request_id:, user_id: ] Started GET "/sidekiq/statuses" for 127.0.0.1 at 2016-05-23 11:42:02 -0300 App 97245 stderr: 2016-05-23 11:42:02 - SyntaxError - /Users/mbianculli/.rvm/gems/ruby-2.1.4/gems/sidekiq_status-1.1.0/lib/sidekiq_status/web.rb:54: syntax error, unexpected ';' App 97245 stderr: ...statuses.each do |container| -; @_out_buf.concat "\n" App 97245 stderr: ... ^ App 97245 stderr: /Users/mbianculli/.rvm/gems/ruby-2.1.4/gems/sidekiq_status-1.1.0/lib/sidekiq_status/web.rb:73: syntax error, unexpected ';' App 97245 stderr: ... "; if container.killable? -; @_out_buf.concat "\n" App 97245 stderr: ... ^ App 97245 stderr: /Users/mbianculli/.rvm/gems/ruby-2.1.4/gem App 97245 stderr: s/sidekiq_status-1.1.0/lib/sidekiq_status/web.rb:75: syntax error, unexpected keyword_elsif, expecting keyword_end App 97245 stderr: ...t_buf.concat " "; elsif container.kill_requested? -;... App 97245 stderr: ... ^ App 97245 stderr: /Users/mbianculli/.rvm/gems/ruby-2.1.4/gems/sidekiq_status-1.1.0/lib/sidekiq_status/web.rb:75: syntax error, unexpected ';' App 97245 stderr: ...if container.kill_requested? -; @_out_buf.concat "\n" App 97245 stderr: ... ^ App 97245 stderr: /Users/mbianculli/.rvm/gems/ruby-2.1.4/gems/sidekiq_status-1.1.0/lib/sidekiq_status/web.rb:80: syntax error, unexpected ';' App 97245 stderr: ; @_out_buf.concat " "; end -; @_out_buf.concat "\n" App 97245 stderr: ^ App 97245 stderr: /Users/mbianculli/.rvm/gems/ruby-2.1.4/gems/sidekiq_status-1.1.0/lib/sidekiq_status/web.rb:81: syntax error, unexpected ';' App 97245 stderr: ; @_out_buf.concat " "; if @statuses.empty? -; @_out_buf.concat "\n" App 97245 stderr: ^ App 97245 stderr: /Users/mbianculli/.rvm/gems/ruby-2.1.4/gems/sidekiq_status-1.1.0/lib/sidekiq_status/web.rb:85: syntax error, unexpected ';' App 97245 stderr: ; @_out_buf.concat " "; end -; @_out_buf.concat "\n" App 97245 stderr: ^ App 97245 stderr: /Users/mbianculli/.rvm/gems/ruby-2.1.4/gems/sidekiq_status-1.1.0/lib/sidekiq_status/web.rb:96: syntax error, unexpected keyword_end, expecting end-of-input App 97245 stderr: end;end;end;end App 97245 stderr: ^: App 97245 stderr: /Users/mbianculli/.rvm/gems/ruby-2.1.4/gems/tilt-2.0.2/lib/tilt/template.rb:267:inclass_eval'
App 97245 stderr: /Users/mbianculli/.rvm/gems/ruby-2.1.4/gems/tilt-2.0.2/lib/tilt/template.rb:267:in compile_template_method' App 97245 stderr: /Users/mbianculli/.rvm/gems/ruby-2.1.4/gems/tilt-2.0.2/lib/tilt/template.rb:230:inblock in compiled_method'
App 97245 stderr: /Users/mbianculli/.rvm/gems/ruby-2.1.4/gems/tilt-2.0.2/lib/tilt/template.rb:229:in synchronize' App 97245 stderr: /Users/mbianculli/.rvm/gems/ruby-2.1.4/gems/tilt-2.0.2/lib/tilt/template.rb:229:incompiled_method'
App 97245 stderr: /Users/mbianculli/.rvm/gems/ruby-2.1.4/gems/tilt-2.0.2/lib/tilt/template.rb:163:in evaluate' App 97245 stderr: /Users/mbianculli/.rvm/gems/ruby-2.1.4/gems/tilt-2.0.2/lib/tilt/template.rb:99:inrender'
App 97245 stderr: /Users/mbianculli/.rvm/gems/ruby-2.1.4/gems/sinatra-1.4.7/lib/sinatra/base.rb:823:in render' App 97245 stderr: /Users/mbianculli/.rvm/gems/ruby-2.1.4/gems/sinatra-1.4.7/lib/sinatra/base.rb:667:inerb'
App 97245 stderr: /Users/mbianculli/.rvm/gems/ruby-2.1.4/gems/sidekiq_status-1.1.0/lib/sidekiq_status/web.rb:27:in block in registered' App 97245 stderr: /Users/mbianculli/.rvm/gems/ruby-2.1.4/gems/sinatra-1.4.7/lib/sinatra/base.rb:1611:incall'
App 97245 stderr: /Users/mbianculli/.rvm/gems/ruby-2.1.4/gems/sinatra-1.4.7/lib/sinatra/base.rb:1611:in block in compile!' App 97245 stderr: /Users/mbianculli/.rvm/gems/ruby-2.1.4/gems/sinatra-1.4.7/lib/sinatra/base.rb:975:in[]'
App 97245 stderr: /Users/mbianculli/.rvm/gems/ruby-2.1.4/gems/sinatra-1.4.7/lib/sinatra/base.rb:975:in block (3 levels) in route!' App 97245 stderr: /Users/mbianculli/.rvm/gems/ruby-2.1.4/gems/sinatra-1.4.7/lib/sinatra/base.rb:994:inroute_eval'
App 97245 stderr: /Users/mbianculli/.rvm/gems/ruby-2.1.4/gems/sinatra-1.4.7/lib/sinatra/base.rb:975:in block (2 levels) in route!' App 97245 stderr: /Users/mbianculli/.rvm/gems/ruby-2.1.4/gems/sinatra-1.4.7/lib/sinatra/base.rb:1015:inblock in process_route'
App 97245 stderr: /Users/mbianculli/.rvm/gems/ruby-2.1.4/gems/sinatra-1.4.7/lib/sinatra/base.rb:1013:in catch' App 97245 stderr: /Users/mbianculli/.rvm/gems/ruby-2.1.4/gems/sinatra-1.4.7/lib/sinatra/base.rb:1013:inprocess_route'
App 97245 stderr: /Users/mbianculli/.rvm/gems/ruby-2.1.4/gems/sinatra-1.4.7/lib/sinatra/base.rb:973:in block in route!' App 97245 stderr: /Users/mbianculli/.rvm/gems/ruby-2.1.4/gems/sinatra-1.4.7/lib/sinatra/base.rb:972:ineach'
App 97245 stderr: /Users/mbianculli/.rvm/gems/ruby-2.1.4/gems/sinatra-1.4.7/lib/sinatra/base.rb:972:in route!' App 97245 stderr: /Users/mbianculli/.rvm/gems/ruby-2.1.4/gems/sinatra-1.4.7/lib/sinatra/base.rb:1085:inblock in dispatch!'
App 97245 stderr: /Users/mbianculli/.rvm/gems/ruby-2.1.4/gems/sinatra-1.4.7/lib/sinatra/base.rb:1067:in block in invoke' App 97245 stderr: /Users/mbianculli/.rvm/gems/ruby-2.1.4/gems/sinatra-1.4.7/lib/sinatra/base.rb:1067:incatch'
App 97245 stderr: /Users/mbianculli/.rvm/gems/ruby-2.1.4/gems/sinatra-1.4.7/lib/sinatra/base.rb:1067:in invoke' App 97245 stderr: /Users/mbianculli/.rvm/gems/ruby-2.1.4/gems/sinatra-1.4.7/lib/sinatra/base.rb:1082:indispatch!'
App 97245 stderr: /Users/mbianculli/.rvm/gems/ruby-2.1.4/gems/sinatra-1.4.7/lib/sinatra/base.rb:907:in block in call!' App 97245 stderr: /Users/mbianculli/.rvm/gems/ruby-2.1.4/gems/sinatra-1.4.7/lib/sinatra/base.rb:1067:inblock in invoke'
App 97245 stderr: /Users/mbianculli/.rvm/gems/ruby-2.1.4/gems/sinatra-1.4.7/lib/sinatra/base.rb:1067:in catch' App 97245 stderr: /Users/mbianculli/.rvm/gems/ruby-2.1.4/gems/sinatra-1.4.7/lib/sinatra/base.rb:1067:ininvoke'
App 97245 stderr: /Users/mbianculli/.rvm/gems/ruby-2.1.4/gems/sinatra-1.4.7/lib/sinatra/base.rb:907:in call!' App 97245 stderr: /Users/mbianculli/.rvm/gems/ruby-2.1.4/gems/sinatra-1.4.7/lib/sinatra/base.rb:895:incall'
App 97245 stderr: /Users/mbianculli/.rvm/gems/ruby-2.1.4/gems/rack-1.6.4/lib/rack/auth/basic.rb:25:in call' App 97245 stderr: /Users/mbianculli/.rvm/gems/ruby-2.1.4/gems/rack-protection-1.5.3/lib/rack/protection/xss_header.rb:18:incall'
App 97245 stderr: /Users/mbianculli/.rvm/gems/ruby-2.1.4/gems/rack-protection-1.5.3/lib/rack/protection/base.rb:49:in call' App 97245 stderr: /Users/mbianculli/.rvm/gems/ruby-2.1.4/gems/rack-protection-1.5.3/lib/rack/protection/base.rb:49:incall'
App 97245 stderr: /Users/mbianculli/.rvm/gems/ruby-2.1.4/gems/rack-protection-1.5.3/lib/rack/protection/path_traversal.rb:16:in call' App 97245 stderr: /Users/mbianculli/.rvm/gems/ruby-2.1.4/gems/rack-protection-1.5.3/lib/rack/protection/json_csrf.rb:18:incall'
App 97245 stderr: /Users/mbianculli/.rvm/gems/ruby-2.1.4/gems/rack-protection-1.5.3/lib/rack/protection/base.rb:49:in call' App 97245 stderr: /Users/mbianculli/.rvm/gems/ruby-2.1.4/gems/rack-protection-1.5.3/lib/rack/protection/base.rb:49:incall'
App 97245 stderr: /Users/mbianculli/.rvm/gems/ruby-2.1.4/gems/rack-protection-1.5.3/lib/rack/protection/frame_options.rb:31:in call' App 97245 stderr: /Users/mbianculli/.rvm/gems/ruby-2.1.4/gems/rack-protection-1.5.3/lib/rack/protection/base.rb:49:incall'
App 97245 stderr: /Users/mbianculli/.rvm/gems/ruby-2.1.4/gems/rack-protection-1.5.3/lib/rack/protection/xss_header.rb:18:in call' App 97245 stderr: /Users/mbianculli/.rvm/gems/ruby-2.1.4/gems/rack-protection-1.5.3/lib/rack/protection/base.rb:49:incall'
App 97245 stderr: /Users/mbianculli/.rvm/gems/ruby-2.1.4/gems/rack-protection-1.5.3/lib/rack/protection/base.rb:49:in call' App 97245 stderr: /Users/mbianculli/.rvm/gems/ruby-2.1.4/gems/rack-protection-1.5.3/lib/rack/protection/path_traversal.rb:16:incall'
App 97245 stderr: /Users/mbianculli/.rvm/gems/ruby-2.1.4/gems/rack-protection-1.5.3/lib/rack/protection/json_csrf.rb:18:in call' App 97245 stderr: /Users/mbianculli/.rvm/gems/ruby-2.1.4/gems/rack-protection-1.5.3/lib/rack/protection/base.rb:49:incall'
App 97245 stderr: /Users/mbianculli/.rvm/gems/ruby-2.1.4/gems/rack-protection-1.5.3/lib/rack/protection/base.rb:49:in call' App 97245 stderr: /Users/mbianculli/.rvm/gems/ruby-2.1.4/gems/rack-protection-1.5.3/lib/rack/protection/frame_options.rb:31:incall'
App 97245 stderr: /Users/mbianculli/.rvm/gems/ruby-2.1.4/gems/rack-1.6.4/lib/rack/session/abstract/id.rb:225:in context' App 97245 stderr: /Users/mbianculli/.rvm/gems/ruby-2.1.4/gems/rack-1.6.4/lib/rack/session/abstract/id.rb:220:incall'
App 97245 stderr: /Users/mbianculli/.rvm/gems/ruby-2.1.4/gems/rack-1.6.4/lib/rack/nulllogger.rb:9:in call' App 97245 stderr: /Users/mbianculli/.rvm/gems/ruby-2.1.4/gems/rack-1.6.4/lib/rack/head.rb:13:incall'
App 97245 stderr: /Users/mbianculli/.rvm/gems/ruby-2.1.4/gems/sinatra-1.4.7/lib/sinatra/show_exceptions.rb:25:in call' App 97245 stderr: /Users/mbianculli/.rvm/gems/ruby-2.1.4/gems/sinatra-1.4.7/lib/sinatra/base.rb:182:incall'
App 97245 stderr: /Users/mbianculli/.rvm/gems/ruby-2.1.4/gems/sinatra-1.4.7/lib/sinatra/base.rb:2013:in call' App 97245 stderr: /Users/mbianculli/.rvm/gems/ruby-2.1.4/gems/sinatra-1.4.7/lib/sinatra/base.rb:1487:inblock in call'
App 97245 stderr: /Users/mbianculli/.rvm/gems/ruby-2.1.4/gems/sinatra-1.4.7/lib/sinatra/base.rb:1787:in synchronize' App 97245 stderr: /Users/mbianculli/.rvm/gems/ruby-2.1.4/gems/sinatra-1.4.7/lib/sinatra/base.rb:1487:incall'
App 97245 stderr: /Users/mbianculli/.rvm/gems/ruby-2.1.4/gems/actionpack-4.2.5.1/lib/action_dispatch/routing/mapper.rb:51
App 97245 stderr: :in serve' App 97245 stderr: /Users/mbianculli/.rvm/gems/ruby-2.1.4/gems/actionpack-4.2.5.1/lib/action_dispatch/journey/router.rb:43:inblock in serve'
App 97245 stderr: /Users/mbianculli/.rvm/gems/ruby-2.1.4/gems/actionpack-4.2.5.1/lib/action_dispatch/journey/router.rb:30:in each' App 97245 stderr: /Users/mbianculli/.rvm/gems/ruby-2.1.4/gems/actionpack-4.2.5.1/lib/action_dispatch/journey/router.rb:30:inserve'
App 97245 stderr: /Users/mbianculli/.rvm/gems/ruby-2.1.4/gems/actionpack-4.2.5.1/lib/action_dispatch/routing/route_set.rb:815:in call' App 97245 stderr: /Users/mbianculli/.rvm/gems/ruby-2.1.4/gems/versionist-1.5.0/lib/versionist/middleware.rb:39:in_call'
App 97245 stderr: /Users/mbianculli/.rvm/gems/ruby-2.1.4/gems/versionist-1.5.0/lib/versionist/middleware.rb:17:in call' App 97245 stderr: /Users/mbianculli/.rvm/gems/ruby-2.1.4/gems/rack-1.6.4/lib/rack/etag.rb:24:incall'
App 97245 stderr: /Users/mbianculli/.rvm/gems/ruby-2.1.4/gems/rack-1.6.4/lib/rack/conditionalget.rb:25:in call' App 97245 stderr: /Users/mbianculli/.rvm/gems/ruby-2.1.4/gems/rack-1.6.4/lib/rack/head.rb:13:incall'
App 97245 stderr: /Users/mbianculli/.rvm/gems/ruby-2.1.4/gems/actionpack-4.2.5.1/lib/action_dispatch/middleware/params_parser.rb:27:in call' App 97245 stderr: /Users/mbianculli/.rvm/gems/ruby-2.1.4/gems/activerecord-4.2.5.1/lib/active_record/query_cache.rb:36:incall'
App 97245 stderr: /Users/mbianculli/.rvm/gems/ruby-2.1.4/gems/activerecord-4.2.5.1/lib/active_record/connection_adapters/abstract/connection_pool.rb:653:in call' App 97245 stderr: /Users/mbianculli/.rvm/gems/ruby-2.1.4/gems/activerecord-4.2.5.1/lib/active_record/migration.rb:377:incall'
App 97245 stderr: /Users/mbianculli/.rvm/gems/ruby-2.1.4/gems/actionpack-4.2.5.1/lib/action_dispatch/middleware/callbacks.rb:29:in block in call' App 97245 stderr: /Users/mbianculli/.rvm/gems/ruby-2.1.4/gems/activesupport-4.2.5.1/lib/active_support/callbacks.rb:88:inrun_callbacks'
App 97245 stderr: /Users/mbianculli/.rvm/gems/ruby-2.1.4/gems/activesupport-4.2.5.1/lib/active_support/callbacks.rb:778:in _run_call_callbacks' App 97245 stderr: /Users/mbianculli/.rvm/gems/ruby-2.1.4/gems/activesupport-4.2.5.1/lib/active_support/callbacks.rb:81:inrun_callbacks'
App 97245 stderr: /Users/mbianculli/.rvm/gems/ruby-2.1.4/gems/actionpack-4.2.5.1/lib/action_dispatch/middleware/callbacks.rb:27:in call' App 97245 stderr: /Users/mbianculli/.rvm/gems/ruby-2.1.4/gems/actionpack-4.2.5.1/lib/action_dispatch/middleware/reloader.rb:73:incall'
App 97245 stderr: /Users/mbianculli/.rvm/gems/ruby-2.1.4/gems/actionpack-4.2.5.1/lib/action_dispatch/middleware/remote_ip.rb:78:in call' App 97245 stderr: /Users/mbianculli/.rvm/gems/ruby-2.1.4/gems/actionpack-4.2.5.1/lib/action_dispatch/middleware/debug_exceptions.rb:17:incall'
App 97245 stderr: /Users/mbianculli/.rvm/gems/ruby-2.1.4/gems/actionpack-4.2.5.1/lib/action_dispatch/middleware/show_exceptions.rb:30:in call' App 97245 stderr: /Users/mbianculli/.rvm/gems/ruby-2.1.4/gems/railties-4.2.5.1/lib/rails/rack/logger.rb:38:incall_app'
App 97245 stderr: /Users/mbianculli/.rvm/gems/ruby-2.1.4/gems/railties-4.2.5.1/lib/rails/rack/logger.rb:22:in call' App 97245 stderr: /Users/mbianculli/.rvm/gems/ruby-2.1.4/bundler/gems/nightwatch-d0825b733c50/lib/nightwatch/silenced_logger.rb:19:incall'
App 97245 stderr: /Users/mbianculli/.rvm/gems/ruby-2.1.4/gems/actionpack-4.2.5.1/lib/action_dispatch/middleware/request_id.rb:21:in call' App 97245 stderr: /Users/mbianculli/.rvm/gems/ruby-2.1.4/gems/rack-1.6.4/lib/rack/runtime.rb:18:incall'
App 97245 stderr: /Users/mbianculli/.rvm/gems/ruby-2.1.4/gems/activesupport-4.2.5.1/lib/active_support/cache/strategy/local_cache_middleware.rb:28:in call' App 97245 stderr: /Users/mbianculli/.rvm/gems/ruby-2.1.4/gems/rack-1.6.4/lib/rack/lock.rb:17:incall'
App 97245 stderr: /Users/mbianculli/.rvm/gems/ruby-2.1.4/gems/actionpack-4.2.5.1/lib/action_dispatch/middleware/static.rb:116:in call' App 97245 stderr: /Users/mbianculli/.rvm/gems/ruby-2.1.4/gems/railties-4.2.5.1/lib/rails/engine.rb:518:incall'
App 97245 stderr: /Users/mbianculli/.rvm/gems/ruby-2.1.4/gems/railties-4.2.5.1/lib/rails/application.rb:165:in call' App 97245 stderr: /Users/mbianculli/.rvm/gems/ruby-2.1.4/gems/passenger-5.0.26/src/ruby_supportlib/phusion_passenger/rack/thread_handler_extension.rb:97:inprocess_request'
App 97245 stderr: /Users/mbianculli/.rvm/gems/ruby-2.1.4/gems/passenger-5.0.26/src/ruby_supportlib/phusion_passenger/request_handler/thread_handler.rb:152:in accept_and_process_next_request' App 97245 stderr: /Users/mbianculli/.rvm/gems/ruby-2.1.4/gems/passenger-5.0.26/src/ruby_supportlib/phusion_passenger/request_handler/thread_handler.rb:113:inmain_loop'
App 97245 stderr: /Users/mbianculli/.rvm/gems/ruby-2.1.4/gems/passenger-5.0.26/src/ruby_supportlib/phusion_passenger/request_handler.rb:416:in block (3 levels) in start_threads' App 97245 stderr: /Users/mbianculli/.rvm/gems/ruby-2.1.4/gems/passenger-5.0.26/src/ruby_supportlib/phusion_passenger/utils.rb:113:inblock in create_thread_and_abort_on_exception'`

Support for Sidekiq 5?

Sidekiq 5 has been released over a year ago. Are there any plans for sidekiq_status to support it?

Set 'at' from within a Model

Is there a way to set the at 50 inside of a model? My worker has 2 method calls, so from there I can only set the percentage done twice. I would like to do it within my Model's method

class OrderWorker
	include Sidekiq::Worker
	include SidekiqStatus::Worker #this is the sidekiq status module
	sidekiq_options retry: false

	def perform(a, b, c)
		  Order.get_orders(a, b) 
		  at 50
		  Order.process_orders(a)
		  at 100
	end
end
class Order < ActiveRecord::Base
	def self.get_orders(a, b)
		# Do stuff
	end

	def self.process_orders(a)
		#Do stuff
               at 60
               #Do more stuff
              at 80
	end
end

Is this possible? I've tried including include SidekiqStatus::Worker and setting container with job_id, but I believe job_id is null?

must jobs be saved to db for status check?

a few seconds after scheduling a job i run:
status_container = SidekiqStatus::Container.load(jid)

But i get SidekiqStatus::Container::StatusNotFound:

Once the job completes the exact same command works.

Thoughts?

Message is always empty

Hi, while running a job I call multiple times

at(n, 'Some message)

but in the statuses page the message is always empty, in case of exception instead the message is filled with the backtrace, could it be because of backtrace is true in sidekiq_options?

Problem when using sidekiq-failures

Hi,

Firstly thank you for developing the gem it's much appreciated.

I'm trying to use the status gem as well as the failure gem(https://github.com/mhfs/sidekiq-failures) in a rails 3.07 application. When I add the failure gem and navigate to the sidekiq web interface and try and display the failure tab I get the following error:

Errno::ENOENT at /sidekiq/failures
No such file or directory - /usr/jobbeat/bundler/ruby/1.9.1/gems/sidekiq_status-1.0.4/web/views/failures.slim

It seems to be looking for the failure page in the status gem directory. If I remove the status gem everything displays fine. I don't know too much about slim or sinatra but it looks like a view path is being changed somewhere.

Is this a problem with the status gem or the failure gem or am I missing something?

Thanks.

Heroku deployment

Locally this is running well, but when we deploy to Heroku and check the UI tab we see the following error:

Has anyone else had this issue or has anyone else deployed on Heroku?

2013-06-07T22:02:08.009575+00:00 app[web.1]: Started GET "/sidekiq/statuses" for 24.23.216.168 at 2013-06-07 22:02:08 +0000
2013-06-07T22:02:08.056085+00:00 app[web.1]: TypeError - can't convert nil into Hash:
2013-06-07T22:02:08.056085+00:00 app[web.1]: /app/vendor/bundle/ruby/1.9.1/bundler/gems/sidekiq_status-2d6f5b3871da/lib/sidekiq_status/container.rb
:325:in merge' 2013-06-07T22:02:08.056085+00:00 app[web.1]: /app/vendor/bundle/ruby/1.9.1/bundler/gems/sidekiq_status-2d6f5b3871da/lib/sidekiq_status/container.rb :325:inload'
2013-06-07T22:02:08.056085+00:00 app[web.1]: /app/vendor/bundle/ruby/1.9.1/bundler/gems/sidekiq_status-2d6f5b3871da/lib/sidekiq_status/container.rb
:187:in initialize' 2013-06-07T22:02:08.056085+00:00 app[web.1]: /app/vendor/bundle/ruby/1.9.1/bundler/gems/sidekiq_status-2d6f5b3871da/lib/sidekiq_status/container.rb :139:innew'
2013-06-07T22:02:08.056085+00:00 app[web.1]: /app/vendor/bundle/ruby/1.9.1/bundler/gems/sidekiq_status-2d6f5b3871da/lib/sidekiq_status/container.rb
:139:in block in load_multi' 2013-06-07T22:02:08.056085+00:00 app[web.1]: /app/vendor/bundle/ruby/1.9.1/bundler/gems/sidekiq_status-2d6f5b3871da/lib/sidekiq_status/container.rb :138:ineach'
2013-06-07T22:02:08.056085+00:00 app[web.1]: /app/vendor/bundle/ruby/1.9.1/bundler/gems/sidekiq_status-2d6f5b3871da/lib/sidekiq_status/container.rb
:138:in `map'

Are jobs in "sidekiq_status:*" ever deleted?

Hello,

Are jobs from sidekiq_status ever deleted automatically? Can I count on information there or should I copy relevant information to my app?

My goal is to display a log of previous jobs and what happend to them.

Error in web interface

Using Sidekiq 4.1.1 and sidekiq_status 1.1.0

2016-05-23 11:42:02 INFO [request_id:, param_request_id:, user_id: ] Started GET "/sidekiq/statuses" for 127.0.0.1 at 2016-05-23 11:42:02 -0300 App 97245 stderr: 2016-05-23 11:42:02 - SyntaxError - /Users/mbianculli/.rvm/gems/ruby-2.1.4/gems/sidekiq_status-1.1.0/lib/sidekiq_status/web.rb:54: syntax error, unexpected ';' App 97245 stderr: ...statuses.each do |container| -; @_out_buf.concat "\n" App 97245 stderr: ... ^ App 97245 stderr: /Users/mbianculli/.rvm/gems/ruby-2.1.4/gems/sidekiq_status-1.1.0/lib/sidekiq_status/web.rb:73: syntax error, unexpected ';' App 97245 stderr: ... "; if container.killable? -; @_out_buf.concat "\n" App 97245 stderr: ... ^ App 97245 stderr: /Users/mbianculli/.rvm/gems/ruby-2.1.4/gem App 97245 stderr: s/sidekiq_status-1.1.0/lib/sidekiq_status/web.rb:75: syntax error, unexpected keyword_elsif, expecting keyword_end App 97245 stderr: ...t_buf.concat " "; elsif container.kill_requested? -;... App 97245 stderr: ... ^ App 97245 stderr: /Users/mbianculli/.rvm/gems/ruby-2.1.4/gems/sidekiq_status-1.1.0/lib/sidekiq_status/web.rb:75: syntax error, unexpected ';' App 97245 stderr: ...if container.kill_requested? -; @_out_buf.concat "\n" App 97245 stderr: ... ^ App 97245 stderr: /Users/mbianculli/.rvm/gems/ruby-2.1.4/gems/sidekiq_status-1.1.0/lib/sidekiq_status/web.rb:80: syntax error, unexpected ';' App 97245 stderr: ; @_out_buf.concat " "; end -; @_out_buf.concat "\n" App 97245 stderr: ^ App 97245 stderr: /Users/mbianculli/.rvm/gems/ruby-2.1.4/gems/sidekiq_status-1.1.0/lib/sidekiq_status/web.rb:81: syntax error, unexpected ';' App 97245 stderr: ; @_out_buf.concat " "; if @statuses.empty? -; @_out_buf.concat "\n" App 97245 stderr: ^ App 97245 stderr: /Users/mbianculli/.rvm/gems/ruby-2.1.4/gems/sidekiq_status-1.1.0/lib/sidekiq_status/web.rb:85: syntax error, unexpected ';' App 97245 stderr: ; @_out_buf.concat " "; end -; @_out_buf.concat "\n" App 97245 stderr: ^ App 97245 stderr: /Users/mbianculli/.rvm/gems/ruby-2.1.4/gems/sidekiq_status-1.1.0/lib/sidekiq_status/web.rb:96: syntax error, unexpected keyword_end, expecting end-of-input App 97245 stderr: end;end;end;end App 97245 stderr: ^: App 97245 stderr: /Users/mbianculli/.rvm/gems/ruby-2.1.4/gems/tilt-2.0.2/lib/tilt/template.rb:267:inclass_eval'
App 97245 stderr: /Users/mbianculli/.rvm/gems/ruby-2.1.4/gems/tilt-2.0.2/lib/tilt/template.rb:267:in compile_template_method' App 97245 stderr: /Users/mbianculli/.rvm/gems/ruby-2.1.4/gems/tilt-2.0.2/lib/tilt/template.rb:230:inblock in compiled_method'
App 97245 stderr: /Users/mbianculli/.rvm/gems/ruby-2.1.4/gems/tilt-2.0.2/lib/tilt/template.rb:229:in synchronize' App 97245 stderr: /Users/mbianculli/.rvm/gems/ruby-2.1.4/gems/tilt-2.0.2/lib/tilt/template.rb:229:incompiled_method'
App 97245 stderr: /Users/mbianculli/.rvm/gems/ruby-2.1.4/gems/tilt-2.0.2/lib/tilt/template.rb:163:in evaluate' App 97245 stderr: /Users/mbianculli/.rvm/gems/ruby-2.1.4/gems/tilt-2.0.2/lib/tilt/template.rb:99:inrender'
App 97245 stderr: /Users/mbianculli/.rvm/gems/ruby-2.1.4/gems/sinatra-1.4.7/lib/sinatra/base.rb:823:in render' App 97245 stderr: /Users/mbianculli/.rvm/gems/ruby-2.1.4/gems/sinatra-1.4.7/lib/sinatra/base.rb:667:inerb'
App 97245 stderr: /Users/mbianculli/.rvm/gems/ruby-2.1.4/gems/sidekiq_status-1.1.0/lib/sidekiq_status/web.rb:27:in block in registered' App 97245 stderr: /Users/mbianculli/.rvm/gems/ruby-2.1.4/gems/sinatra-1.4.7/lib/sinatra/base.rb:1611:incall'
App 97245 stderr: /Users/mbianculli/.rvm/gems/ruby-2.1.4/gems/sinatra-1.4.7/lib/sinatra/base.rb:1611:in block in compile!' App 97245 stderr: /Users/mbianculli/.rvm/gems/ruby-2.1.4/gems/sinatra-1.4.7/lib/sinatra/base.rb:975:in[]'
App 97245 stderr: /Users/mbianculli/.rvm/gems/ruby-2.1.4/gems/sinatra-1.4.7/lib/sinatra/base.rb:975:in block (3 levels) in route!' App 97245 stderr: /Users/mbianculli/.rvm/gems/ruby-2.1.4/gems/sinatra-1.4.7/lib/sinatra/base.rb:994:inroute_eval'
App 97245 stderr: /Users/mbianculli/.rvm/gems/ruby-2.1.4/gems/sinatra-1.4.7/lib/sinatra/base.rb:975:in block (2 levels) in route!' App 97245 stderr: /Users/mbianculli/.rvm/gems/ruby-2.1.4/gems/sinatra-1.4.7/lib/sinatra/base.rb:1015:inblock in process_route'
App 97245 stderr: /Users/mbianculli/.rvm/gems/ruby-2.1.4/gems/sinatra-1.4.7/lib/sinatra/base.rb:1013:in catch' App 97245 stderr: /Users/mbianculli/.rvm/gems/ruby-2.1.4/gems/sinatra-1.4.7/lib/sinatra/base.rb:1013:inprocess_route'
App 97245 stderr: /Users/mbianculli/.rvm/gems/ruby-2.1.4/gems/sinatra-1.4.7/lib/sinatra/base.rb:973:in block in route!' App 97245 stderr: /Users/mbianculli/.rvm/gems/ruby-2.1.4/gems/sinatra-1.4.7/lib/sinatra/base.rb:972:ineach'
App 97245 stderr: /Users/mbianculli/.rvm/gems/ruby-2.1.4/gems/sinatra-1.4.7/lib/sinatra/base.rb:972:in route!' App 97245 stderr: /Users/mbianculli/.rvm/gems/ruby-2.1.4/gems/sinatra-1.4.7/lib/sinatra/base.rb:1085:inblock in dispatch!'
App 97245 stderr: /Users/mbianculli/.rvm/gems/ruby-2.1.4/gems/sinatra-1.4.7/lib/sinatra/base.rb:1067:in block in invoke' App 97245 stderr: /Users/mbianculli/.rvm/gems/ruby-2.1.4/gems/sinatra-1.4.7/lib/sinatra/base.rb:1067:incatch'
App 97245 stderr: /Users/mbianculli/.rvm/gems/ruby-2.1.4/gems/sinatra-1.4.7/lib/sinatra/base.rb:1067:in invoke' App 97245 stderr: /Users/mbianculli/.rvm/gems/ruby-2.1.4/gems/sinatra-1.4.7/lib/sinatra/base.rb:1082:indispatch!'
App 97245 stderr: /Users/mbianculli/.rvm/gems/ruby-2.1.4/gems/sinatra-1.4.7/lib/sinatra/base.rb:907:in block in call!' App 97245 stderr: /Users/mbianculli/.rvm/gems/ruby-2.1.4/gems/sinatra-1.4.7/lib/sinatra/base.rb:1067:inblock in invoke'
App 97245 stderr: /Users/mbianculli/.rvm/gems/ruby-2.1.4/gems/sinatra-1.4.7/lib/sinatra/base.rb:1067:in catch' App 97245 stderr: /Users/mbianculli/.rvm/gems/ruby-2.1.4/gems/sinatra-1.4.7/lib/sinatra/base.rb:1067:ininvoke'
App 97245 stderr: /Users/mbianculli/.rvm/gems/ruby-2.1.4/gems/sinatra-1.4.7/lib/sinatra/base.rb:907:in call!' App 97245 stderr: /Users/mbianculli/.rvm/gems/ruby-2.1.4/gems/sinatra-1.4.7/lib/sinatra/base.rb:895:incall'
App 97245 stderr: /Users/mbianculli/.rvm/gems/ruby-2.1.4/gems/rack-1.6.4/lib/rack/auth/basic.rb:25:in call' App 97245 stderr: /Users/mbianculli/.rvm/gems/ruby-2.1.4/gems/rack-protection-1.5.3/lib/rack/protection/xss_header.rb:18:incall'
App 97245 stderr: /Users/mbianculli/.rvm/gems/ruby-2.1.4/gems/rack-protection-1.5.3/lib/rack/protection/base.rb:49:in call' App 97245 stderr: /Users/mbianculli/.rvm/gems/ruby-2.1.4/gems/rack-protection-1.5.3/lib/rack/protection/base.rb:49:incall'
App 97245 stderr: /Users/mbianculli/.rvm/gems/ruby-2.1.4/gems/rack-protection-1.5.3/lib/rack/protection/path_traversal.rb:16:in call' App 97245 stderr: /Users/mbianculli/.rvm/gems/ruby-2.1.4/gems/rack-protection-1.5.3/lib/rack/protection/json_csrf.rb:18:incall'
App 97245 stderr: /Users/mbianculli/.rvm/gems/ruby-2.1.4/gems/rack-protection-1.5.3/lib/rack/protection/base.rb:49:in call' App 97245 stderr: /Users/mbianculli/.rvm/gems/ruby-2.1.4/gems/rack-protection-1.5.3/lib/rack/protection/base.rb:49:incall'
App 97245 stderr: /Users/mbianculli/.rvm/gems/ruby-2.1.4/gems/rack-protection-1.5.3/lib/rack/protection/frame_options.rb:31:in call' App 97245 stderr: /Users/mbianculli/.rvm/gems/ruby-2.1.4/gems/rack-protection-1.5.3/lib/rack/protection/base.rb:49:incall'
App 97245 stderr: /Users/mbianculli/.rvm/gems/ruby-2.1.4/gems/rack-protection-1.5.3/lib/rack/protection/xss_header.rb:18:in call' App 97245 stderr: /Users/mbianculli/.rvm/gems/ruby-2.1.4/gems/rack-protection-1.5.3/lib/rack/protection/base.rb:49:incall'
App 97245 stderr: /Users/mbianculli/.rvm/gems/ruby-2.1.4/gems/rack-protection-1.5.3/lib/rack/protection/base.rb:49:in call' App 97245 stderr: /Users/mbianculli/.rvm/gems/ruby-2.1.4/gems/rack-protection-1.5.3/lib/rack/protection/path_traversal.rb:16:incall'
App 97245 stderr: /Users/mbianculli/.rvm/gems/ruby-2.1.4/gems/rack-protection-1.5.3/lib/rack/protection/json_csrf.rb:18:in call' App 97245 stderr: /Users/mbianculli/.rvm/gems/ruby-2.1.4/gems/rack-protection-1.5.3/lib/rack/protection/base.rb:49:incall'
App 97245 stderr: /Users/mbianculli/.rvm/gems/ruby-2.1.4/gems/rack-protection-1.5.3/lib/rack/protection/base.rb:49:in call' App 97245 stderr: /Users/mbianculli/.rvm/gems/ruby-2.1.4/gems/rack-protection-1.5.3/lib/rack/protection/frame_options.rb:31:incall'
App 97245 stderr: /Users/mbianculli/.rvm/gems/ruby-2.1.4/gems/rack-1.6.4/lib/rack/session/abstract/id.rb:225:in context' App 97245 stderr: /Users/mbianculli/.rvm/gems/ruby-2.1.4/gems/rack-1.6.4/lib/rack/session/abstract/id.rb:220:incall'
App 97245 stderr: /Users/mbianculli/.rvm/gems/ruby-2.1.4/gems/rack-1.6.4/lib/rack/nulllogger.rb:9:in call' App 97245 stderr: /Users/mbianculli/.rvm/gems/ruby-2.1.4/gems/rack-1.6.4/lib/rack/head.rb:13:incall'
App 97245 stderr: /Users/mbianculli/.rvm/gems/ruby-2.1.4/gems/sinatra-1.4.7/lib/sinatra/show_exceptions.rb:25:in call' App 97245 stderr: /Users/mbianculli/.rvm/gems/ruby-2.1.4/gems/sinatra-1.4.7/lib/sinatra/base.rb:182:incall'
App 97245 stderr: /Users/mbianculli/.rvm/gems/ruby-2.1.4/gems/sinatra-1.4.7/lib/sinatra/base.rb:2013:in call' App 97245 stderr: /Users/mbianculli/.rvm/gems/ruby-2.1.4/gems/sinatra-1.4.7/lib/sinatra/base.rb:1487:inblock in call'
App 97245 stderr: /Users/mbianculli/.rvm/gems/ruby-2.1.4/gems/sinatra-1.4.7/lib/sinatra/base.rb:1787:in synchronize' App 97245 stderr: /Users/mbianculli/.rvm/gems/ruby-2.1.4/gems/sinatra-1.4.7/lib/sinatra/base.rb:1487:incall'
App 97245 stderr: /Users/mbianculli/.rvm/gems/ruby-2.1.4/gems/actionpack-4.2.5.1/lib/action_dispatch/routing/mapper.rb:51
App 97245 stderr: :in serve' App 97245 stderr: /Users/mbianculli/.rvm/gems/ruby-2.1.4/gems/actionpack-4.2.5.1/lib/action_dispatch/journey/router.rb:43:inblock in serve'
App 97245 stderr: /Users/mbianculli/.rvm/gems/ruby-2.1.4/gems/actionpack-4.2.5.1/lib/action_dispatch/journey/router.rb:30:in each' App 97245 stderr: /Users/mbianculli/.rvm/gems/ruby-2.1.4/gems/actionpack-4.2.5.1/lib/action_dispatch/journey/router.rb:30:inserve'
App 97245 stderr: /Users/mbianculli/.rvm/gems/ruby-2.1.4/gems/actionpack-4.2.5.1/lib/action_dispatch/routing/route_set.rb:815:in call' App 97245 stderr: /Users/mbianculli/.rvm/gems/ruby-2.1.4/gems/versionist-1.5.0/lib/versionist/middleware.rb:39:in_call'
App 97245 stderr: /Users/mbianculli/.rvm/gems/ruby-2.1.4/gems/versionist-1.5.0/lib/versionist/middleware.rb:17:in call' App 97245 stderr: /Users/mbianculli/.rvm/gems/ruby-2.1.4/gems/rack-1.6.4/lib/rack/etag.rb:24:incall'
App 97245 stderr: /Users/mbianculli/.rvm/gems/ruby-2.1.4/gems/rack-1.6.4/lib/rack/conditionalget.rb:25:in call' App 97245 stderr: /Users/mbianculli/.rvm/gems/ruby-2.1.4/gems/rack-1.6.4/lib/rack/head.rb:13:incall'
App 97245 stderr: /Users/mbianculli/.rvm/gems/ruby-2.1.4/gems/actionpack-4.2.5.1/lib/action_dispatch/middleware/params_parser.rb:27:in call' App 97245 stderr: /Users/mbianculli/.rvm/gems/ruby-2.1.4/gems/activerecord-4.2.5.1/lib/active_record/query_cache.rb:36:incall'
App 97245 stderr: /Users/mbianculli/.rvm/gems/ruby-2.1.4/gems/activerecord-4.2.5.1/lib/active_record/connection_adapters/abstract/connection_pool.rb:653:in call' App 97245 stderr: /Users/mbianculli/.rvm/gems/ruby-2.1.4/gems/activerecord-4.2.5.1/lib/active_record/migration.rb:377:incall'
App 97245 stderr: /Users/mbianculli/.rvm/gems/ruby-2.1.4/gems/actionpack-4.2.5.1/lib/action_dispatch/middleware/callbacks.rb:29:in block in call' App 97245 stderr: /Users/mbianculli/.rvm/gems/ruby-2.1.4/gems/activesupport-4.2.5.1/lib/active_support/callbacks.rb:88:inrun_callbacks'
App 97245 stderr: /Users/mbianculli/.rvm/gems/ruby-2.1.4/gems/activesupport-4.2.5.1/lib/active_support/callbacks.rb:778:in _run_call_callbacks' App 97245 stderr: /Users/mbianculli/.rvm/gems/ruby-2.1.4/gems/activesupport-4.2.5.1/lib/active_support/callbacks.rb:81:inrun_callbacks'
App 97245 stderr: /Users/mbianculli/.rvm/gems/ruby-2.1.4/gems/actionpack-4.2.5.1/lib/action_dispatch/middleware/callbacks.rb:27:in call' App 97245 stderr: /Users/mbianculli/.rvm/gems/ruby-2.1.4/gems/actionpack-4.2.5.1/lib/action_dispatch/middleware/reloader.rb:73:incall'
App 97245 stderr: /Users/mbianculli/.rvm/gems/ruby-2.1.4/gems/actionpack-4.2.5.1/lib/action_dispatch/middleware/remote_ip.rb:78:in call' App 97245 stderr: /Users/mbianculli/.rvm/gems/ruby-2.1.4/gems/actionpack-4.2.5.1/lib/action_dispatch/middleware/debug_exceptions.rb:17:incall'
App 97245 stderr: /Users/mbianculli/.rvm/gems/ruby-2.1.4/gems/actionpack-4.2.5.1/lib/action_dispatch/middleware/show_exceptions.rb:30:in call' App 97245 stderr: /Users/mbianculli/.rvm/gems/ruby-2.1.4/gems/railties-4.2.5.1/lib/rails/rack/logger.rb:38:incall_app'
App 97245 stderr: /Users/mbianculli/.rvm/gems/ruby-2.1.4/gems/railties-4.2.5.1/lib/rails/rack/logger.rb:22:in call' App 97245 stderr: /Users/mbianculli/.rvm/gems/ruby-2.1.4/bundler/gems/nightwatch-d0825b733c50/lib/nightwatch/silenced_logger.rb:19:incall'
App 97245 stderr: /Users/mbianculli/.rvm/gems/ruby-2.1.4/gems/actionpack-4.2.5.1/lib/action_dispatch/middleware/request_id.rb:21:in call' App 97245 stderr: /Users/mbianculli/.rvm/gems/ruby-2.1.4/gems/rack-1.6.4/lib/rack/runtime.rb:18:incall'
App 97245 stderr: /Users/mbianculli/.rvm/gems/ruby-2.1.4/gems/activesupport-4.2.5.1/lib/active_support/cache/strategy/local_cache_middleware.rb:28:in call' App 97245 stderr: /Users/mbianculli/.rvm/gems/ruby-2.1.4/gems/rack-1.6.4/lib/rack/lock.rb:17:incall'
App 97245 stderr: /Users/mbianculli/.rvm/gems/ruby-2.1.4/gems/actionpack-4.2.5.1/lib/action_dispatch/middleware/static.rb:116:in call' App 97245 stderr: /Users/mbianculli/.rvm/gems/ruby-2.1.4/gems/railties-4.2.5.1/lib/rails/engine.rb:518:incall'
App 97245 stderr: /Users/mbianculli/.rvm/gems/ruby-2.1.4/gems/railties-4.2.5.1/lib/rails/application.rb:165:in call' App 97245 stderr: /Users/mbianculli/.rvm/gems/ruby-2.1.4/gems/passenger-5.0.26/src/ruby_supportlib/phusion_passenger/rack/thread_handler_extension.rb:97:inprocess_request'
App 97245 stderr: /Users/mbianculli/.rvm/gems/ruby-2.1.4/gems/passenger-5.0.26/src/ruby_supportlib/phusion_passenger/request_handler/thread_handler.rb:152:in accept_and_process_next_request' App 97245 stderr: /Users/mbianculli/.rvm/gems/ruby-2.1.4/gems/passenger-5.0.26/src/ruby_supportlib/phusion_passenger/request_handler/thread_handler.rb:113:inmain_loop'
App 97245 stderr: /Users/mbianculli/.rvm/gems/ruby-2.1.4/gems/passenger-5.0.26/src/ruby_supportlib/phusion_passenger/request_handler.rb:416:in block (3 levels) in start_threads' App 97245 stderr: /Users/mbianculli/.rvm/gems/ruby-2.1.4/gems/passenger-5.0.26/src/ruby_supportlib/phusion_passenger/utils.rb:113:inblock in create_thread_and_abort_on_exception'`

Error in web interface

Using Sidekiq 4.1.1 and sidekiq_status 1.1.0, when I go to statuses in the Sidekiq Web, I get this error:

2016-05-23 11:42:02 INFO [request_id:, param_request_id:, user_id: ] Started GET "/sidekiq/statuses" for 127.0.0.1 at 2016-05-23 11:42:02 -0300
App 97245 stderr: 2016-05-23 11:42:02 - SyntaxError - /Users/mbianculli/.rvm/gems/ruby-2.1.4/gems/sidekiq_status-1.1.0/lib/sidekiq_status/web.rb:54: syntax error, unexpected ';'
App 97245 stderr: ...statuses.each do |container| -; @_out_buf.concat "\n"
App 97245 stderr: ...                               ^
App 97245 stderr: /Users/mbianculli/.rvm/gems/ruby-2.1.4/gems/sidekiq_status-1.1.0/lib/sidekiq_status/web.rb:73: syntax error, unexpected ';'
App 97245 stderr: ...  ";  if container.killable? -; @_out_buf.concat "\n"
App 97245 stderr: ...                               ^
App 97245 stderr: /Users/mbianculli/.rvm/gems/ruby-2.1.4/gem
App 97245 stderr: s/sidekiq_status-1.1.0/lib/sidekiq_status/web.rb:75: syntax error, unexpected keyword_elsif, expecting keyword_end
App 97245 stderr: ...t_buf.concat "        ";  elsif container.kill_requested? -;...
App 97245 stderr: ...                               ^
App 97245 stderr: /Users/mbianculli/.rvm/gems/ruby-2.1.4/gems/sidekiq_status-1.1.0/lib/sidekiq_status/web.rb:75: syntax error, unexpected ';'
App 97245 stderr: ...if container.kill_requested? -; @_out_buf.concat "\n"
App 97245 stderr: ...                               ^
App 97245 stderr: /Users/mbianculli/.rvm/gems/ruby-2.1.4/gems/sidekiq_status-1.1.0/lib/sidekiq_status/web.rb:80: syntax error, unexpected ';'
App 97245 stderr: ; @_out_buf.concat "  ";  end -; @_out_buf.concat "\n"
App 97245 stderr:                                 ^
App 97245 stderr: /Users/mbianculli/.rvm/gems/ruby-2.1.4/gems/sidekiq_status-1.1.0/lib/sidekiq_status/web.rb:81: syntax error, unexpected ';'
App 97245 stderr: ; @_out_buf.concat "  ";  if @statuses.empty? -; @_out_buf.concat "\n"
App 97245 stderr:                                                 ^
App 97245 stderr: /Users/mbianculli/.rvm/gems/ruby-2.1.4/gems/sidekiq_status-1.1.0/lib/sidekiq_status/web.rb:85: syntax error, unexpected ';'
App 97245 stderr: ; @_out_buf.concat "  ";  end -; @_out_buf.concat "\n"
App 97245 stderr:                                 ^
App 97245 stderr: /Users/mbianculli/.rvm/gems/ruby-2.1.4/gems/sidekiq_status-1.1.0/lib/sidekiq_status/web.rb:96: syntax error, unexpected keyword_end, expecting end-of-input
App 97245 stderr: end;end;end;end
App 97245 stderr:            ^:
App 97245 stderr:   /Users/mbianculli/.rvm/gems/ruby-2.1.4/gems/tilt-2.0.2/lib/tilt/template.rb:267:in `class_eval'
App 97245 stderr:   /Users/mbianculli/.rvm/gems/ruby-2.1.4/gems/tilt-2.0.2/lib/tilt/template.rb:267:in `compile_template_method'
App 97245 stderr:   /Users/mbianculli/.rvm/gems/ruby-2.1.4/gems/tilt-2.0.2/lib/tilt/template.rb:230:in `block in compiled_method'
App 97245 stderr:   /Users/mbianculli/.rvm/gems/ruby-2.1.4/gems/tilt-2.0.2/lib/tilt/template.rb:229:in `synchronize'
App 97245 stderr:   /Users/mbianculli/.rvm/gems/ruby-2.1.4/gems/tilt-2.0.2/lib/tilt/template.rb:229:in `compiled_method'
App 97245 stderr:   /Users/mbianculli/.rvm/gems/ruby-2.1.4/gems/tilt-2.0.2/lib/tilt/template.rb:163:in `evaluate'
App 97245 stderr:   /Users/mbianculli/.rvm/gems/ruby-2.1.4/gems/tilt-2.0.2/lib/tilt/template.rb:99:in `render'
App 97245 stderr:   /Users/mbianculli/.rvm/gems/ruby-2.1.4/gems/sinatra-1.4.7/lib/sinatra/base.rb:823:in `render'
App 97245 stderr:   /Users/mbianculli/.rvm/gems/ruby-2.1.4/gems/sinatra-1.4.7/lib/sinatra/base.rb:667:in `erb'
App 97245 stderr:   /Users/mbianculli/.rvm/gems/ruby-2.1.4/gems/sidekiq_status-1.1.0/lib/sidekiq_status/web.rb:27:in `block in registered'
App 97245 stderr:   /Users/mbianculli/.rvm/gems/ruby-2.1.4/gems/sinatra-1.4.7/lib/sinatra/base.rb:1611:in `call'
App 97245 stderr:   /Users/mbianculli/.rvm/gems/ruby-2.1.4/gems/sinatra-1.4.7/lib/sinatra/base.rb:1611:in `block in compile!'
App 97245 stderr:   /Users/mbianculli/.rvm/gems/ruby-2.1.4/gems/sinatra-1.4.7/lib/sinatra/base.rb:975:in `[]'
App 97245 stderr:   /Users/mbianculli/.rvm/gems/ruby-2.1.4/gems/sinatra-1.4.7/lib/sinatra/base.rb:975:in `block (3 levels) in route!'
App 97245 stderr:   /Users/mbianculli/.rvm/gems/ruby-2.1.4/gems/sinatra-1.4.7/lib/sinatra/base.rb:994:in `route_eval'
App 97245 stderr:   /Users/mbianculli/.rvm/gems/ruby-2.1.4/gems/sinatra-1.4.7/lib/sinatra/base.rb:975:in `block (2 levels) in route!'
App 97245 stderr:   /Users/mbianculli/.rvm/gems/ruby-2.1.4/gems/sinatra-1.4.7/lib/sinatra/base.rb:1015:in `block in process_route'
App 97245 stderr:   /Users/mbianculli/.rvm/gems/ruby-2.1.4/gems/sinatra-1.4.7/lib/sinatra/base.rb:1013:in `catch'
App 97245 stderr:   /Users/mbianculli/.rvm/gems/ruby-2.1.4/gems/sinatra-1.4.7/lib/sinatra/base.rb:1013:in `process_route'
App 97245 stderr:   /Users/mbianculli/.rvm/gems/ruby-2.1.4/gems/sinatra-1.4.7/lib/sinatra/base.rb:973:in `block in route!'
App 97245 stderr:   /Users/mbianculli/.rvm/gems/ruby-2.1.4/gems/sinatra-1.4.7/lib/sinatra/base.rb:972:in `each'
App 97245 stderr:   /Users/mbianculli/.rvm/gems/ruby-2.1.4/gems/sinatra-1.4.7/lib/sinatra/base.rb:972:in `route!'
App 97245 stderr:   /Users/mbianculli/.rvm/gems/ruby-2.1.4/gems/sinatra-1.4.7/lib/sinatra/base.rb:1085:in `block in dispatch!'
App 97245 stderr:   /Users/mbianculli/.rvm/gems/ruby-2.1.4/gems/sinatra-1.4.7/lib/sinatra/base.rb:1067:in `block in invoke'
App 97245 stderr:   /Users/mbianculli/.rvm/gems/ruby-2.1.4/gems/sinatra-1.4.7/lib/sinatra/base.rb:1067:in `catch'
App 97245 stderr:   /Users/mbianculli/.rvm/gems/ruby-2.1.4/gems/sinatra-1.4.7/lib/sinatra/base.rb:1067:in `invoke'
App 97245 stderr:   /Users/mbianculli/.rvm/gems/ruby-2.1.4/gems/sinatra-1.4.7/lib/sinatra/base.rb:1082:in `dispatch!'
App 97245 stderr:   /Users/mbianculli/.rvm/gems/ruby-2.1.4/gems/sinatra-1.4.7/lib/sinatra/base.rb:907:in `block in call!'
App 97245 stderr:   /Users/mbianculli/.rvm/gems/ruby-2.1.4/gems/sinatra-1.4.7/lib/sinatra/base.rb:1067:in `block in invoke'
App 97245 stderr:   /Users/mbianculli/.rvm/gems/ruby-2.1.4/gems/sinatra-1.4.7/lib/sinatra/base.rb:1067:in `catch'
App 97245 stderr:   /Users/mbianculli/.rvm/gems/ruby-2.1.4/gems/sinatra-1.4.7/lib/sinatra/base.rb:1067:in `invoke'
App 97245 stderr:   /Users/mbianculli/.rvm/gems/ruby-2.1.4/gems/sinatra-1.4.7/lib/sinatra/base.rb:907:in `call!'
App 97245 stderr:   /Users/mbianculli/.rvm/gems/ruby-2.1.4/gems/sinatra-1.4.7/lib/sinatra/base.rb:895:in `call'
App 97245 stderr:   /Users/mbianculli/.rvm/gems/ruby-2.1.4/gems/rack-1.6.4/lib/rack/auth/basic.rb:25:in `call'
App 97245 stderr:   /Users/mbianculli/.rvm/gems/ruby-2.1.4/gems/rack-protection-1.5.3/lib/rack/protection/xss_header.rb:18:in `call'
App 97245 stderr:   /Users/mbianculli/.rvm/gems/ruby-2.1.4/gems/rack-protection-1.5.3/lib/rack/protection/base.rb:49:in `call'
App 97245 stderr:   /Users/mbianculli/.rvm/gems/ruby-2.1.4/gems/rack-protection-1.5.3/lib/rack/protection/base.rb:49:in `call'
App 97245 stderr:   /Users/mbianculli/.rvm/gems/ruby-2.1.4/gems/rack-protection-1.5.3/lib/rack/protection/path_traversal.rb:16:in `call'
App 97245 stderr:   /Users/mbianculli/.rvm/gems/ruby-2.1.4/gems/rack-protection-1.5.3/lib/rack/protection/json_csrf.rb:18:in `call'
App 97245 stderr:   /Users/mbianculli/.rvm/gems/ruby-2.1.4/gems/rack-protection-1.5.3/lib/rack/protection/base.rb:49:in `call'
App 97245 stderr:   /Users/mbianculli/.rvm/gems/ruby-2.1.4/gems/rack-protection-1.5.3/lib/rack/protection/base.rb:49:in `call'
App 97245 stderr:   /Users/mbianculli/.rvm/gems/ruby-2.1.4/gems/rack-protection-1.5.3/lib/rack/protection/frame_options.rb:31:in `call'
App 97245 stderr:   /Users/mbianculli/.rvm/gems/ruby-2.1.4/gems/rack-protection-1.5.3/lib/rack/protection/base.rb:49:in `call'
App 97245 stderr:   /Users/mbianculli/.rvm/gems/ruby-2.1.4/gems/rack-protection-1.5.3/lib/rack/protection/xss_header.rb:18:in `call'
App 97245 stderr:   /Users/mbianculli/.rvm/gems/ruby-2.1.4/gems/rack-protection-1.5.3/lib/rack/protection/base.rb:49:in `call'
App 97245 stderr:   /Users/mbianculli/.rvm/gems/ruby-2.1.4/gems/rack-protection-1.5.3/lib/rack/protection/base.rb:49:in `call'
App 97245 stderr:   /Users/mbianculli/.rvm/gems/ruby-2.1.4/gems/rack-protection-1.5.3/lib/rack/protection/path_traversal.rb:16:in `call'
App 97245 stderr:   /Users/mbianculli/.rvm/gems/ruby-2.1.4/gems/rack-protection-1.5.3/lib/rack/protection/json_csrf.rb:18:in `call'
App 97245 stderr:   /Users/mbianculli/.rvm/gems/ruby-2.1.4/gems/rack-protection-1.5.3/lib/rack/protection/base.rb:49:in `call'
App 97245 stderr:   /Users/mbianculli/.rvm/gems/ruby-2.1.4/gems/rack-protection-1.5.3/lib/rack/protection/base.rb:49:in `call'
App 97245 stderr:   /Users/mbianculli/.rvm/gems/ruby-2.1.4/gems/rack-protection-1.5.3/lib/rack/protection/frame_options.rb:31:in `call'
App 97245 stderr:   /Users/mbianculli/.rvm/gems/ruby-2.1.4/gems/rack-1.6.4/lib/rack/session/abstract/id.rb:225:in `context'
App 97245 stderr:   /Users/mbianculli/.rvm/gems/ruby-2.1.4/gems/rack-1.6.4/lib/rack/session/abstract/id.rb:220:in `call'
App 97245 stderr:   /Users/mbianculli/.rvm/gems/ruby-2.1.4/gems/rack-1.6.4/lib/rack/nulllogger.rb:9:in `call'
App 97245 stderr:   /Users/mbianculli/.rvm/gems/ruby-2.1.4/gems/rack-1.6.4/lib/rack/head.rb:13:in `call'
App 97245 stderr:   /Users/mbianculli/.rvm/gems/ruby-2.1.4/gems/sinatra-1.4.7/lib/sinatra/show_exceptions.rb:25:in `call'
App 97245 stderr:   /Users/mbianculli/.rvm/gems/ruby-2.1.4/gems/sinatra-1.4.7/lib/sinatra/base.rb:182:in `call'
App 97245 stderr:   /Users/mbianculli/.rvm/gems/ruby-2.1.4/gems/sinatra-1.4.7/lib/sinatra/base.rb:2013:in `call'
App 97245 stderr:   /Users/mbianculli/.rvm/gems/ruby-2.1.4/gems/sinatra-1.4.7/lib/sinatra/base.rb:1487:in `block in call'
App 97245 stderr:   /Users/mbianculli/.rvm/gems/ruby-2.1.4/gems/sinatra-1.4.7/lib/sinatra/base.rb:1787:in `synchronize'
App 97245 stderr:   /Users/mbianculli/.rvm/gems/ruby-2.1.4/gems/sinatra-1.4.7/lib/sinatra/base.rb:1487:in `call'
App 97245 stderr:   /Users/mbianculli/.rvm/gems/ruby-2.1.4/gems/actionpack-4.2.5.1/lib/action_dispatch/routing/mapper.rb:51
App 97245 stderr: :in `serve'
App 97245 stderr:   /Users/mbianculli/.rvm/gems/ruby-2.1.4/gems/actionpack-4.2.5.1/lib/action_dispatch/journey/router.rb:43:in `block in serve'
App 97245 stderr:   /Users/mbianculli/.rvm/gems/ruby-2.1.4/gems/actionpack-4.2.5.1/lib/action_dispatch/journey/router.rb:30:in `each'
App 97245 stderr:   /Users/mbianculli/.rvm/gems/ruby-2.1.4/gems/actionpack-4.2.5.1/lib/action_dispatch/journey/router.rb:30:in `serve'
App 97245 stderr:   /Users/mbianculli/.rvm/gems/ruby-2.1.4/gems/actionpack-4.2.5.1/lib/action_dispatch/routing/route_set.rb:815:in `call'
App 97245 stderr:   /Users/mbianculli/.rvm/gems/ruby-2.1.4/gems/versionist-1.5.0/lib/versionist/middleware.rb:39:in `_call'
App 97245 stderr:   /Users/mbianculli/.rvm/gems/ruby-2.1.4/gems/versionist-1.5.0/lib/versionist/middleware.rb:17:in `call'
App 97245 stderr:   /Users/mbianculli/.rvm/gems/ruby-2.1.4/gems/rack-1.6.4/lib/rack/etag.rb:24:in `call'
App 97245 stderr:   /Users/mbianculli/.rvm/gems/ruby-2.1.4/gems/rack-1.6.4/lib/rack/conditionalget.rb:25:in `call'
App 97245 stderr:   /Users/mbianculli/.rvm/gems/ruby-2.1.4/gems/rack-1.6.4/lib/rack/head.rb:13:in `call'
App 97245 stderr:   /Users/mbianculli/.rvm/gems/ruby-2.1.4/gems/actionpack-4.2.5.1/lib/action_dispatch/middleware/params_parser.rb:27:in `call'
App 97245 stderr:   /Users/mbianculli/.rvm/gems/ruby-2.1.4/gems/activerecord-4.2.5.1/lib/active_record/query_cache.rb:36:in `call'
App 97245 stderr:   /Users/mbianculli/.rvm/gems/ruby-2.1.4/gems/activerecord-4.2.5.1/lib/active_record/connection_adapters/abstract/connection_pool.rb:653:in `call'
App 97245 stderr:   /Users/mbianculli/.rvm/gems/ruby-2.1.4/gems/activerecord-4.2.5.1/lib/active_record/migration.rb:377:in `call'
App 97245 stderr:   /Users/mbianculli/.rvm/gems/ruby-2.1.4/gems/actionpack-4.2.5.1/lib/action_dispatch/middleware/callbacks.rb:29:in `block in call'
App 97245 stderr:   /Users/mbianculli/.rvm/gems/ruby-2.1.4/gems/activesupport-4.2.5.1/lib/active_support/callbacks.rb:88:in `__run_callbacks__'
App 97245 stderr:   /Users/mbianculli/.rvm/gems/ruby-2.1.4/gems/activesupport-4.2.5.1/lib/active_support/callbacks.rb:778:in `_run_call_callbacks'
App 97245 stderr:   /Users/mbianculli/.rvm/gems/ruby-2.1.4/gems/activesupport-4.2.5.1/lib/active_support/callbacks.rb:81:in `run_callbacks'
App 97245 stderr:   /Users/mbianculli/.rvm/gems/ruby-2.1.4/gems/actionpack-4.2.5.1/lib/action_dispatch/middleware/callbacks.rb:27:in `call'
App 97245 stderr:   /Users/mbianculli/.rvm/gems/ruby-2.1.4/gems/actionpack-4.2.5.1/lib/action_dispatch/middleware/reloader.rb:73:in `call'
App 97245 stderr:   /Users/mbianculli/.rvm/gems/ruby-2.1.4/gems/actionpack-4.2.5.1/lib/action_dispatch/middleware/remote_ip.rb:78:in `call'
App 97245 stderr:   /Users/mbianculli/.rvm/gems/ruby-2.1.4/gems/actionpack-4.2.5.1/lib/action_dispatch/middleware/debug_exceptions.rb:17:in `call'
App 97245 stderr:   /Users/mbianculli/.rvm/gems/ruby-2.1.4/gems/actionpack-4.2.5.1/lib/action_dispatch/middleware/show_exceptions.rb:30:in `call'
App 97245 stderr:   /Users/mbianculli/.rvm/gems/ruby-2.1.4/gems/railties-4.2.5.1/lib/rails/rack/logger.rb:38:in `call_app'
App 97245 stderr:   /Users/mbianculli/.rvm/gems/ruby-2.1.4/gems/railties-4.2.5.1/lib/rails/rack/logger.rb:22:in `call'
App 97245 stderr:   /Users/mbianculli/.rvm/gems/ruby-2.1.4/bundler/gems/nightwatch-d0825b733c50/lib/nightwatch/silenced_logger.rb:19:in `call'
App 97245 stderr:   /Users/mbianculli/.rvm/gems/ruby-2.1.4/gems/actionpack-4.2.5.1/lib/action_dispatch/middleware/request_id.rb:21:in `call'
App 97245 stderr:   /Users/mbianculli/.rvm/gems/ruby-2.1.4/gems/rack-1.6.4/lib/rack/runtime.rb:18:in `call'
App 97245 stderr:   /Users/mbianculli/.rvm/gems/ruby-2.1.4/gems/activesupport-4.2.5.1/lib/active_support/cache/strategy/local_cache_middleware.rb:28:in `call'
App 97245 stderr:   /Users/mbianculli/.rvm/gems/ruby-2.1.4/gems/rack-1.6.4/lib/rack/lock.rb:17:in `call'
App 97245 stderr:   /Users/mbianculli/.rvm/gems/ruby-2.1.4/gems/actionpack-4.2.5.1/lib/action_dispatch/middleware/static.rb:116:in `call'
App 97245 stderr:   /Users/mbianculli/.rvm/gems/ruby-2.1.4/gems/railties-4.2.5.1/lib/rails/engine.rb:518:in `call'
App 97245 stderr:   /Users/mbianculli/.rvm/gems/ruby-2.1.4/gems/railties-4.2.5.1/lib/rails/application.rb:165:in `call'
App 97245 stderr:   /Users/mbianculli/.rvm/gems/ruby-2.1.4/gems/passenger-5.0.26/src/ruby_supportlib/phusion_passenger/rack/thread_handler_extension.rb:97:in `process_request'
App 97245 stderr:   /Users/mbianculli/.rvm/gems/ruby-2.1.4/gems/passenger-5.0.26/src/ruby_supportlib/phusion_passenger/request_handler/thread_handler.rb:152:in `accept_and_process_next_request'
App 97245 stderr:   /Users/mbianculli/.rvm/gems/ruby-2.1.4/gems/passenger-5.0.26/src/ruby_supportlib/phusion_passenger/request_handler/thread_handler.rb:113:in `main_loop'
App 97245 stderr:   /Users/mbianculli/.rvm/gems/ruby-2.1.4/gems/passenger-5.0.26/src/ruby_supportlib/phusion_passenger/request_handler.rb:416:in `block (3 levels) in start_threads'
App 97245 stderr:   /Users/mbianculli/.rvm/gems/ruby-2.1.4/gems/passenger-5.0.26/src/ruby_supportlib/phusion_passenger/utils.rb:113:in `block in create_thread_and_abort_on_exception'

Release 1.2.0

Hi, @cryo28. I see you've merged some PRs providing compat with Sidekiq 4+.

Could you please release a new version with the latest changes so we can use it directly from Rubygems?

Thanks for this awesome gem!

Cheers,

Gem release

Hi @cryo28, first of all thanks for the plugin. Great stuff.

Let me ask you something. Do you intend to release a rubygem at some point?

Also, are you aware of the sidekiq-status one by @utgarda? It seems you guys started in parallel but you went further feature wise. What are your thoughts on the possibility of joining efforts?

jid frozen until job finishes

I'm sure this is simple. But when I do
@jid = MyWorkers.perform_async(current_user.id)
I can't do anything after this line until the job finishes. So for instance I can't check the progress. Is there a way around this?

Sidekiq 2.16.1

Is it possible to use sidekiq_status with sidekiq 2.16.1?

Thanks

Not an issue

Just wanted to say that you did a great job! Exactly how I imagined status gem should work, I wish I stumbled upon your implementation earlier.

Job status incorrectly says 'working'

Using sidekiq_status 1.2.0 and Sidekiq 4.2.10. Sidekiq itself currently shows all empty queues and no busy jobs. Sidekiq status, however, reports that about a dozen jobs are 'working'. I have fiddled with the container object to try to update the status, but it doesn't change the status.

  • How can the status become out of sync?
  • How can the status be updated to correctly reflect the current situation?

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.