Comments (3)
Is this an issue that started since upgrading to ruby 2.6.0p0? If so, it may be related to https://bugs.ruby-lang.org/issues/15468 and might be fixed by upgrading to ruby 2.6.1.
If not, could you please post the full stack trace of the error?
I tried running your server.rb file with the same gem versions on ruby 2.6.1p33 and was not able to reproduce the error within the web console.
from sidekiq-status.
cc / @kenaniah
Using without Rails. Simple server based on rack (config.ru). Same config as original poster.
Ruby: 2.5.3
Redis: 5.0.3-4
Issue: When sidekiq is empty (redis is empty) Statuses page can be opened. Whenever a job added and processed, Status page cannot be opened and below error given.
I can see sidekiq:status:job_id
in redis server list.
Here full stack trace:
16:27:32 web.1 | NoMethodError: undefined method `get_all' for Sidekiq::Status:Module
16:27:32 web.1 | /home/gencer/.rbenv/versions/2.5.3/lib/ruby/gems/2.5.0/gems/sidekiq-status-1.1.2/lib/sidekiq-status/web.rb:92:in `block (2 levels) in registered'
16:27:32 web.1 | /home/gencer/.rbenv/versions/2.5.3/lib/ruby/gems/2.5.0/gems/sidekiq-status-1.1.2/lib/sidekiq-status/web.rb:91:in `each'
16:27:32 web.1 | /home/gencer/.rbenv/versions/2.5.3/lib/ruby/gems/2.5.0/gems/sidekiq-status-1.1.2/lib/sidekiq-status/web.rb:91:in `block in registered'
16:27:32 web.1 | /home/gencer/.rbenv/versions/2.5.3/lib/ruby/gems/2.5.0/gems/sidekiq-5.2.5/lib/sidekiq/web/application.rb:287:in `instance_exec'
16:27:32 web.1 | /home/gencer/.rbenv/versions/2.5.3/lib/ruby/gems/2.5.0/gems/sidekiq-5.2.5/lib/sidekiq/web/application.rb:287:in `block in call'
16:27:32 web.1 | /home/gencer/.rbenv/versions/2.5.3/lib/ruby/gems/2.5.0/gems/sidekiq-5.2.5/lib/sidekiq/web/application.rb:283:in `catch'
16:27:32 web.1 | /home/gencer/.rbenv/versions/2.5.3/lib/ruby/gems/2.5.0/gems/sidekiq-5.2.5/lib/sidekiq/web/application.rb:283:in `call'
16:27:32 web.1 | /home/gencer/.rbenv/versions/2.5.3/lib/ruby/gems/2.5.0/gems/rack-protection-2.0.5/lib/rack/protection/xss_header.rb:18:in `call'
16:27:32 web.1 | /home/gencer/.rbenv/versions/2.5.3/lib/ruby/gems/2.5.0/gems/rack-protection-2.0.5/lib/rack/protection/base.rb:50:in `call'
16:27:32 web.1 | /home/gencer/.rbenv/versions/2.5.3/lib/ruby/gems/2.5.0/gems/rack-protection-2.0.5/lib/rack/protection/base.rb:50:in `call'
16:27:32 web.1 | /home/gencer/.rbenv/versions/2.5.3/lib/ruby/gems/2.5.0/gems/rack-protection-2.0.5/lib/rack/protection/path_traversal.rb:16:in `call'
16:27:32 web.1 | /home/gencer/.rbenv/versions/2.5.3/lib/ruby/gems/2.5.0/gems/rack-protection-2.0.5/lib/rack/protection/json_csrf.rb:26:in `call'
16:27:32 web.1 | /home/gencer/.rbenv/versions/2.5.3/lib/ruby/gems/2.5.0/gems/rack-protection-2.0.5/lib/rack/protection/base.rb:50:in `call'
16:27:32 web.1 | /home/gencer/.rbenv/versions/2.5.3/lib/ruby/gems/2.5.0/gems/rack-protection-2.0.5/lib/rack/protection/base.rb:50:in `call'
16:27:32 web.1 | /home/gencer/.rbenv/versions/2.5.3/lib/ruby/gems/2.5.0/gems/rack-protection-2.0.5/lib/rack/protection/frame_options.rb:31:in `call'
16:27:32 web.1 | /home/gencer/.rbenv/versions/2.5.3/lib/ruby/gems/2.5.0/gems/rack-protection-2.0.5/lib/rack/protection/base.rb:50:in `call'
16:27:32 web.1 | /home/gencer/.rbenv/versions/2.5.3/lib/ruby/gems/2.5.0/gems/rack-2.0.6/lib/rack/session/abstract/id.rb:232:in `context'
16:27:32 web.1 | /home/gencer/.rbenv/versions/2.5.3/lib/ruby/gems/2.5.0/gems/rack-2.0.6/lib/rack/session/abstract/id.rb:226:in `call'
16:27:32 web.1 | /home/gencer/.rbenv/versions/2.5.3/lib/ruby/gems/2.5.0/gems/rack-2.0.6/lib/rack/urlmap.rb:68:in `block in call'
16:27:32 web.1 | /home/gencer/.rbenv/versions/2.5.3/lib/ruby/gems/2.5.0/gems/rack-2.0.6/lib/rack/urlmap.rb:53:in `each'
16:27:32 web.1 | /home/gencer/.rbenv/versions/2.5.3/lib/ruby/gems/2.5.0/gems/rack-2.0.6/lib/rack/urlmap.rb:53:in `call'
16:27:32 web.1 | /home/gencer/.rbenv/versions/2.5.3/lib/ruby/gems/2.5.0/gems/rack-2.0.6/lib/rack/builder.rb:153:in `call'
16:27:32 web.1 | /home/gencer/.rbenv/versions/2.5.3/lib/ruby/gems/2.5.0/gems/sidekiq-5.2.5/lib/sidekiq/web.rb:103:in `call'
16:27:32 web.1 | /home/gencer/.rbenv/versions/2.5.3/lib/ruby/gems/2.5.0/gems/sidekiq-5.2.5/lib/sidekiq/web.rb:108:in `call'
16:27:32 web.1 | /home/gencer/.rbenv/versions/2.5.3/lib/ruby/gems/2.5.0/gems/rack-2.0.6/lib/rack/auth/basic.rb:25:in `call'
16:27:32 web.1 | /home/gencer/.rbenv/versions/2.5.3/lib/ruby/gems/2.5.0/gems/rack-2.0.6/lib/rack/urlmap.rb:68:in `block in call'
16:27:32 web.1 | /home/gencer/.rbenv/versions/2.5.3/lib/ruby/gems/2.5.0/gems/rack-2.0.6/lib/rack/urlmap.rb:53:in `each'
16:27:32 web.1 | /home/gencer/.rbenv/versions/2.5.3/lib/ruby/gems/2.5.0/gems/rack-2.0.6/lib/rack/urlmap.rb:53:in `call'
16:27:32 web.1 | /home/gencer/.rbenv/versions/2.5.3/lib/ruby/gems/2.5.0/gems/rack-2.0.6/lib/rack/tempfile_reaper.rb:15:in `call'
16:27:32 web.1 | /home/gencer/.rbenv/versions/2.5.3/lib/ruby/gems/2.5.0/gems/rack-2.0.6/lib/rack/lint.rb:49:in `_call'
16:27:32 web.1 | /home/gencer/.rbenv/versions/2.5.3/lib/ruby/gems/2.5.0/gems/rack-2.0.6/lib/rack/lint.rb:37:in `call'
16:27:32 web.1 | /home/gencer/.rbenv/versions/2.5.3/lib/ruby/gems/2.5.0/gems/rack-2.0.6/lib/rack/show_exceptions.rb:23:in `call'
16:27:32 web.1 | /home/gencer/.rbenv/versions/2.5.3/lib/ruby/gems/2.5.0/gems/rack-2.0.6/lib/rack/common_logger.rb:33:in `call'
16:27:32 web.1 | /home/gencer/.rbenv/versions/2.5.3/lib/ruby/gems/2.5.0/gems/sinatra-2.0.5/lib/sinatra/base.rb:231:in `call'
16:27:32 web.1 | /home/gencer/.rbenv/versions/2.5.3/lib/ruby/gems/2.5.0/gems/rack-2.0.6/lib/rack/chunked.rb:54:in `call'
16:27:32 web.1 | /home/gencer/.rbenv/versions/2.5.3/lib/ruby/gems/2.5.0/gems/rack-2.0.6/lib/rack/content_length.rb:15:in `call'
16:27:32 web.1 | /home/gencer/.rbenv/versions/2.5.3/lib/ruby/gems/2.5.0/gems/thin-1.7.2/lib/thin/connection.rb:86:in `block in pre_process'
16:27:32 web.1 | /home/gencer/.rbenv/versions/2.5.3/lib/ruby/gems/2.5.0/gems/thin-1.7.2/lib/thin/connection.rb:84:in `catch'
16:27:32 web.1 | /home/gencer/.rbenv/versions/2.5.3/lib/ruby/gems/2.5.0/gems/thin-1.7.2/lib/thin/connection.rb:84:in `pre_process'
16:27:32 web.1 | /home/gencer/.rbenv/versions/2.5.3/lib/ruby/gems/2.5.0/gems/thin-1.7.2/lib/thin/connection.rb:53:in `process'
16:27:32 web.1 | /home/gencer/.rbenv/versions/2.5.3/lib/ruby/gems/2.5.0/gems/thin-1.7.2/lib/thin/connection.rb:39:in `receive_data'
16:27:32 web.1 | /home/gencer/.rbenv/versions/2.5.3/lib/ruby/gems/2.5.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:195:in `run_machine'
16:27:32 web.1 | /home/gencer/.rbenv/versions/2.5.3/lib/ruby/gems/2.5.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:195:in `run'
16:27:32 web.1 | /home/gencer/.rbenv/versions/2.5.3/lib/ruby/gems/2.5.0/gems/thin-1.7.2/lib/thin/backends/base.rb:73:in `start'
16:27:32 web.1 | /home/gencer/.rbenv/versions/2.5.3/lib/ruby/gems/2.5.0/gems/thin-1.7.2/lib/thin/server.rb:162:in `start'
16:27:32 web.1 | /home/gencer/.rbenv/versions/2.5.3/lib/ruby/gems/2.5.0/gems/rack-2.0.6/lib/rack/handler/thin.rb:22:in `run'
16:27:32 web.1 | /home/gencer/.rbenv/versions/2.5.3/lib/ruby/gems/2.5.0/gems/rack-2.0.6/lib/rack/server.rb:297:in `start'
16:27:32 web.1 | /home/gencer/.rbenv/versions/2.5.3/lib/ruby/gems/2.5.0/gems/rack-2.0.6/lib/rack/server.rb:148:in `start'
16:27:32 web.1 | /home/gencer/.rbenv/versions/2.5.3/lib/ruby/gems/2.5.0/gems/rack-2.0.6/bin/rackup:4:in `<top (required)>'
16:27:32 web.1 | /home/gencer/.rbenv/versions/2.5.3/bin/rackup:23:in `load'
16:27:32 web.1 | /home/gencer/.rbenv/versions/2.5.3/bin/rackup:23:in `<top (required)>'
16:27:32 web.1 | /home/gencer/.rbenv/versions/2.5.3/lib/ruby/gems/2.5.0/gems/bundler-2.0.1/lib/bundler/cli/exec.rb:74:in `load'
16:27:32 web.1 | /home/gencer/.rbenv/versions/2.5.3/lib/ruby/gems/2.5.0/gems/bundler-2.0.1/lib/bundler/cli/exec.rb:74:in `kernel_load'
16:27:32 web.1 | /home/gencer/.rbenv/versions/2.5.3/lib/ruby/gems/2.5.0/gems/bundler-2.0.1/lib/bundler/cli/exec.rb:28:in `run'
16:27:32 web.1 | /home/gencer/.rbenv/versions/2.5.3/lib/ruby/gems/2.5.0/gems/bundler-2.0.1/lib/bundler/cli.rb:463:in `exec'
16:27:32 web.1 | /home/gencer/.rbenv/versions/2.5.3/lib/ruby/gems/2.5.0/gems/bundler-2.0.1/lib/bundler/vendor/thor/lib/thor/command.rb:27:in `run'
16:27:32 web.1 | /home/gencer/.rbenv/versions/2.5.3/lib/ruby/gems/2.5.0/gems/bundler-2.0.1/lib/bundler/vendor/thor/lib/thor/invocation.rb:126:in `invoke_command'
16:27:32 web.1 | /home/gencer/.rbenv/versions/2.5.3/lib/ruby/gems/2.5.0/gems/bundler-2.0.1/lib/bundler/vendor/thor/lib/thor.rb:387:in `dispatch'
16:27:32 web.1 | /home/gencer/.rbenv/versions/2.5.3/lib/ruby/gems/2.5.0/gems/bundler-2.0.1/lib/bundler/cli.rb:27:in `dispatch'
16:27:32 web.1 | /home/gencer/.rbenv/versions/2.5.3/lib/ruby/gems/2.5.0/gems/bundler-2.0.1/lib/bundler/vendor/thor/lib/thor/base.rb:466:in `start'
16:27:32 web.1 | /home/gencer/.rbenv/versions/2.5.3/lib/ruby/gems/2.5.0/gems/bundler-2.0.1/lib/bundler/cli.rb:18:in `start'
16:27:32 web.1 | /home/gencer/.rbenv/versions/2.5.3/lib/ruby/gems/2.5.0/gems/bundler-2.0.1/exe/bundle:30:in `block in <top (required)>'
16:27:32 web.1 | /home/gencer/.rbenv/versions/2.5.3/lib/ruby/gems/2.5.0/gems/bundler-2.0.1/lib/bundler/friendly_errors.rb:124:in `with_friendly_errors'
16:27:32 web.1 | /home/gencer/.rbenv/versions/2.5.3/lib/ruby/gems/2.5.0/gems/bundler-2.0.1/exe/bundle:22:in `<top (required)>'
16:27:32 web.1 | /home/gencer/.rbenv/versions/2.5.3/bin/bundle:23:in `load'
16:27:32 web.1 | /home/gencer/.rbenv/versions/2.5.3/bin/bundle:23:in `<main>'
from sidekiq-status.
Sidekiq-status currently does not support loading require 'sidekiq-status/web'
directly. Changing that statement to require 'sidekiq-status'
will solve your problem, as the method you are missing is defined within the top of the gem. sidekiq-status/web
is automatically loaded by sidekiq-status
if sidekiq/web
was already loaded.
Your server.rb should look like:
# server.rb
require 'rack'
require 'sidekiq'
require 'sidekiq/web'
require 'sidekiq-status' # This line was modified
Rack::Handler::WEBrick.run Sidekiq::Web
from sidekiq-status.
Related Issues (20)
- Remove button leads to a 404 Not Found HOT 3
- `#store` doesn't work in tests HOT 2
- Finishing a worker at < total results status = completed and < 100% progress HOT 1
- Redis::CannotConnectError also after enabling testing mode HOT 1
- Sidekiq::Status doesn't play well with Sidekiq Enterprise's encryption feature HOT 1
- Pagination
- Add option to skip storing job args in status key HOT 1
- Flaky way to check for job Klass in client_middleware.rb HOT 1
- Filtering by worker
- Call Sidekiq::Status.cancel with Ruby 3.0.0 HOT 1
- `store` function and wrong expiration
- [Request] Add a method append
- Sidekiq halt helper changed HOT 1
- Problem with sidekia-status middleware after upgrading to rails 6
- Sidekiq::Job renamed to Sidekiq::JobRecord HOT 1
- Get all complete jobs
- Empty worker jid in status page. Cant access specific job status page
- Perfomance of the sidekiq status ui page
- Transition from `Worker` to `Job`
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
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.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from sidekiq-status.