Cucumber "--format progress" doesn't work - ruby-on-rails-3

In my cucumber.yml I've tried to add this option (default: --drb --format progress), but it return an error :
Exception encountered: #<ArgumentError: wrong number of arguments (3 for 2)
Error creating formatter: progress>
When I take it in brackets default: --drb --"format progress" it doesn't helps:
invalid option: --format progress (OptionParser::InvalidOption)
So maybe there is no option, but it should be
And "format pretty" works correctly without any brackets.
I want see not all scenarios in console, but just which has an errors, perhaps there is another way to do this.
Full trace:
wrong number of arguments (3 for 2)
Error creating formatter: progress (ArgumentError)
/home/alder/.rvm/gems/ruby-1.9.2-p290#global/gems/activerecord-3.1.0/lib/active_record/base.rb:1543:in `initialize'
/home/alder/.rvm/gems/ruby-1.9.2-p290#global/gems/cucumber-1.1.0/lib/cucumber/cli/configuration.rb:168:in `new'
/home/alder/.rvm/gems/ruby-1.9.2-p290#global/gems/cucumber-1.1.0/lib/cucumber/cli/configuration.rb:168:in `block in formatters'
/home/alder/.rvm/gems/ruby-1.9.2-p290#global/gems/cucumber-1.1.0/lib/cucumber/cli/configuration.rb:163:in `map'
/home/alder/.rvm/gems/ruby-1.9.2-p290#global/gems/cucumber-1.1.0/lib/cucumber/cli/configuration.rb:163:in `formatters'
/home/alder/.rvm/gems/ruby-1.9.2-p290#global/gems/cucumber-1.1.0/lib/cucumber/cli/configuration.rb:68:in `build_tree_walker'
/home/alder/.rvm/gems/ruby-1.9.2-p290#global/gems/cucumber-1.1.0/lib/cucumber/runtime.rb:42:in `run!'
/home/alder/.rvm/gems/ruby-1.9.2-p290#global/gems/cucumber-1.1.0/lib/cucumber/cli/main.rb:43:in `execute!'
/home/alder/.rvm/gems/ruby-1.9.2-p290#global/gems/cucumber-1.1.0/lib/cucumber/cli/main.rb:20:in `execute'
/home/alder/.rvm/gems/ruby-1.9.2-p290#global/gems/cucumber-1.1.0/bin/cucumber:14:in `<top (required)>'
/home/alder/.rvm/gems/ruby-1.9.2-p290#global/bin/cucumber:19:in `load'
/home/alder/.rvm/gems/ruby-1.9.2-p290#global/bin/cucumber:19:in `<main>'
And If I write option in cucumer.yml the error slightly different:
Exception encountered: #<ArgumentError: wrong number of arguments (3 for 2)
Error creating formatter: progress>
backtrace:
/home/alder/.rvm/gems/ruby-1.9.2-p290#global/gems/activerecord-3.1.0/lib/active_record/base.rb:1543:in `initialize'
/home/alder/.rvm/gems/ruby-1.9.2-p290#global/gems/cucumber-1.1.0/lib/cucumber/cli/configuration.rb:168:in `new'
/home/alder/.rvm/gems/ruby-1.9.2-p290#global/gems/cucumber-1.1.0/lib/cucumber/cli/configuration.rb:168:in `block in formatters'
/home/alder/.rvm/gems/ruby-1.9.2-p290#global/gems/cucumber-1.1.0/lib/cucumber/cli/configuration.rb:163:in `map'
/home/alder/.rvm/gems/ruby-1.9.2-p290#global/gems/cucumber-1.1.0/lib/cucumber/cli/configuration.rb:163:in `formatters'
/home/alder/.rvm/gems/ruby-1.9.2-p290#global/gems/cucumber-1.1.0/lib/cucumber/cli/configuration.rb:68:in `build_tree_walker'
/home/alder/.rvm/gems/ruby-1.9.2-p290#global/gems/cucumber-1.1.0/lib/cucumber/runtime.rb:42:in `run!'
/home/alder/.rvm/gems/ruby-1.9.2-p290#global/gems/cucumber-1.1.0/lib/cucumber/cli/main.rb:43:in `execute!'
/home/alder/.rvm/gems/ruby-1.9.2-p290#global/gems/spork-0.9.0.rc9/lib/spork/test_framework/cucumber.rb:24:in `run_tests'
/home/alder/.rvm/gems/ruby-1.9.2-p290#global/gems/spork-0.9.0.rc9/lib/spork/run_strategy/forking.rb:13:in `block in run'
/home/alder/.rvm/gems/ruby-1.9.2-p290#global/gems/spork-0.9.0.rc9/lib/spork/forker.rb:21:in `block in initialize'
/home/alder/.rvm/gems/ruby-1.9.2-p290#global/gems/spork-0.9.0.rc9/lib/spork/forker.rb:18:in `fork'
/home/alder/.rvm/gems/ruby-1.9.2-p290#global/gems/spork-0.9.0.rc9/lib/spork/forker.rb:18:in `initialize'
/home/alder/.rvm/gems/ruby-1.9.2-p290#global/gems/spork-0.9.0.rc9/lib/spork/run_strategy/forking.rb:9:in `new'
/home/alder/.rvm/gems/ruby-1.9.2-p290#global/gems/spork-0.9.0.rc9/lib/spork/run_strategy/forking.rb:9:in `run'
/home/alder/.rvm/gems/ruby-1.9.2-p290#global/gems/spork-0.9.0.rc9/lib/spork/server.rb:48:in `run'
/home/alder/.rvm/rubies/ruby-1.9.2-p290/lib/ruby/1.9.1/drb/drb.rb:1558:in `perform_without_block'
/home/alder/.rvm/rubies/ruby-1.9.2-p290/lib/ruby/1.9.1/drb/drb.rb:1518:in `perform'
/home/alder/.rvm/rubies/ruby-1.9.2-p290/lib/ruby/1.9.1/drb/drb.rb:1592:in `block (2 levels) in main_loop'
/home/alder/.rvm/rubies/ruby-1.9.2-p290/lib/ruby/1.9.1/drb/drb.rb:1588:in `loop'
/home/alder/.rvm/rubies/ruby-1.9.2-p290/lib/ruby/1.9.1/drb/drb.rb:1588:in `block in main_loop'
I have a Spork by the way maybe it's a problem.

Based on the updated information in your question, I think I see the problem (hence I'm posting another answer as it's completely different to my other one). It looks like Cucumber is trying to instantiate an ActiveRecord class, so I suspect you have a model named 'Progress' in your project somewhere, which Cucumber is trying to create instead of of the actual formatter.
I was able to reproduce your problem (close enough, anyway) by adding this class in the 'support' folder:
class Progress
def initialize
raise "I don't exist!"
end
end
According to the docs, you should be able to specify a fully qualified class name here i.e. --format Cucumber::Formatter::Progress, to force Cucumber to use it's own formatter. However, I tried this and it still doesn't work, there seems to be a bug in how Cucumber resolves the fully-qualified name.
I was able to get around this by adding this line to my env.rb file:
require 'cucumber/formatter/progress'
Which then allowed me to run cucumber --format progress successfully.
I think that, as env.rb gets executed before any other code, then Cucumber's Progress class will be the first one that gets found when creating the formatter.

It looks from the output you've pasted in, that you have an extra angle ('>') bracket floating around in your cucumber.yml file:
Error creating formatter: progress>
Unless that's a typo in your question, for some reason Cucumber is trying to create a formatter named 'progress>', so you probably just need to find and remove the extra angle bracket.
Edit: This wasn't the problem at all, see my other answer

Related

To submit an issue include the stack trace

i use the command -> shopify theme serve then appears this error:
X An unexpected error occured.
To submit an issue include the stack trace.
? Send an anonymized error report to Shopify? (You chose: No, don't send)
C:/Ruby31-x64/lib/ruby/gems/3.1.0/gems/shopify-cli-2.18.1/lib/shopify_cli/theme/file.rb:137:in []=': no implicit conversion of String into Integer (TypeError) from C:/Ruby31-x64/lib/ruby/gems/3.1.0/gems/shopify-cli-2.18.1/lib/shopify_cli/theme/file.rb:137:in visit_value'
from C:/Ruby31-x64/lib/ruby/gems/3.1.0/gems/shopify-cli-2.18.1/lib/shopify_cli/theme/file.rb:130:in block in visit_hash' from C:/Ruby31-x64/lib/ruby/gems/3.1.0/gems/shopify-cli-2.18.1/lib/shopify_cli/theme/file.rb:129:in each'
from C:/Ruby31-x64/lib/ruby/gems/3.1.0/gems/shopify-cli-2.18.1/lib/shopify_cli/theme/file.rb:129:in visit_hash' from C:/Ruby31-x64/lib/ruby/gems/3.1.0/gems/shopify-cli-2.18.1/lib/shopify_cli/theme/file.rb:124:in visit_document'
from C:/Ruby31-x64/lib/ruby/gems/3.1.0/gems/shopify-cli-2.18.1/lib/shopify_cli/theme/file.rb:113:in normalize_json' from C:/Ruby31-x64/lib/ruby/gems/3.1.0/gems/shopify-cli-2.18.1/lib/shopify_cli/theme/file.rb:81:in checksum'
from C:/Ruby31-x64/lib/ruby/gems/3.1.0/gems/shopify-cli-2.18.1/lib/shopify_cli/theme/syncer/checksums.rb:20:in file_has_changed?' from C:/Ruby31-x64/lib/ruby/gems/3.1.0/gems/shopify-cli-2.18.1/lib/shopify_cli/theme/syncer/json_update_handler.rb:19:in block in enqueue_json_updates'
from C:/Ruby31-x64/lib/ruby/gems/3.1.0/gems/shopify-cli-2.18.1/lib/shopify_cli/theme/syncer/json_update_handler.rb:19:in select' from C:/Ruby31-x64/lib/ruby/gems/3.1.0/gems/shopify-cli-2.18.1/lib/shopify_cli/theme/syncer/json_update_handler.rb:19:in enqueue_json_updates'
from C:/Ruby31-x64/lib/ruby/gems/3.1.0/gems/shopify-cli-2.18.1/lib/shopify_cli/theme/syncer.rb:173:in upload_theme!' from C:/Ruby31-x64/lib/ruby/gems/3.1.0/gems/shopify-cli-2.18.1/lib/project_types/theme/ui/sync_progress_bar.rb:11:in public_send'
from C:/Ruby31-x64/lib/ruby/gems/3.1.0/gems/shopify-cli-2.18.1/lib/project_types/theme/ui/sync_progress_bar.rb:11:in block in progress' from C:/Ruby31-x64/lib/ruby/gems/3.1.0/gems/shopify-cli-2.18.1/vendor/deps/cli-ui/lib/cli/ui/progress.rb:34:in progress'
from C:/Ruby31-x64/lib/ruby/gems/3.1.0/gems/shopify-cli-2.18.1/lib/project_types/theme/ui/sync_progress_bar.rb:10:in progress' from C:/Ruby31-x64/lib/ruby/gems/3.1.0/gems/shopify-cli-2.18.1/lib/project_types/theme/commands/serve.rb:31:in block in call'
from C:/Ruby31-x64/lib/ruby/gems/3.1.0/gems/shopify-cli-2.18.1/lib/shopify_cli/theme/dev_server.rb:56:in block in start' from C:/Ruby31-x64/lib/ruby/gems/3.1.0/gems/shopify-cli-2.18.1/vendor/deps/cli-ui/lib/cli/ui/frame.rb:103:in open'
from C:/Ruby31-x64/lib/ruby/gems/3.1.0/gems/shopify-cli-2.18.1/lib/shopify_cli/theme/dev_server.rb:52:in start' from C:/Ruby31-x64/lib/ruby/gems/3.1.0/gems/shopify-cli-2.18.1/lib/project_types/theme/commands/serve.rb:30:in call'
from C:/Ruby31-x64/lib/ruby/gems/3.1.0/gems/shopify-cli-2.18.1/lib/shopify_cli/command/sub_command.rb:16:in call' from C:/Ruby31-x64/lib/ruby/gems/3.1.0/gems/shopify-cli-2.18.1/lib/shopify_cli/command.rb:27:in call'
from C:/Ruby31-x64/lib/ruby/gems/3.1.0/gems/shopify-cli-2.18.1/lib/shopify_cli/core/executor.rb:17:in block (2 levels) in call' from C:/Ruby31-x64/lib/ruby/gems/3.1.0/gems/shopify-cli-2.18.1/vendor/deps/cli-kit/lib/cli/kit/executor.rb:37:in block (2 levels) in with_logging'
from C:/Ruby31-x64/lib/ruby/gems/3.1.0/gems/shopify-cli-2.18.1/vendor/deps/cli-ui/lib/cli/ui/stdout_router.rb:169:in with_id' from C:/Ruby31-x64/lib/ruby/gems/3.1.0/gems/shopify-cli-2.18.1/vendor/deps/cli-kit/lib/cli/kit/executor.rb:36:in block in with_logging'
from C:/Ruby31-x64/lib/ruby/gems/3.1.0/gems/shopify-cli-2.18.1/vendor/deps/cli-ui/lib/cli/ui.rb:176:in log_output_to' from C:/Ruby31-x64/lib/ruby/gems/3.1.0/gems/shopify-cli-2.18.1/vendor/deps/cli-kit/lib/cli/kit/executor.rb:35:in with_logging'
from C:/Ruby31-x64/lib/ruby/gems/3.1.0/gems/shopify-cli-2.18.1/lib/shopify_cli/core/executor.rb:16:in block in call' from C:/Ruby31-x64/lib/ruby/gems/3.1.0/gems/shopify-cli-2.18.1/vendor/deps/cli-kit/lib/cli/kit/executor.rb:45:in block (2 levels) in with_traps'
from C:/Ruby31-x64/lib/ruby/gems/3.1.0/gems/shopify-cli-2.18.1/vendor/deps/cli-kit/lib/cli/kit/executor.rb:51:in twrap' from C:/Ruby31-x64/lib/ruby/gems/3.1.0/gems/shopify-cli-2.18.1/vendor/deps/cli-kit/lib/cli/kit/executor.rb:44:in block in with_traps'
from C:/Ruby31-x64/lib/ruby/gems/3.1.0/gems/shopify-cli-2.18.1/vendor/deps/cli-kit/lib/cli/kit/executor.rb:51:in twrap' from C:/Ruby31-x64/lib/ruby/gems/3.1.0/gems/shopify-cli-2.18.1/vendor/deps/cli-kit/lib/cli/kit/executor.rb:43:in with_traps'
from C:/Ruby31-x64/lib/ruby/gems/3.1.0/gems/shopify-cli-2.18.1/lib/shopify_cli/core/executor.rb:15:in call' from C:/Ruby31-x64/lib/ruby/gems/3.1.0/gems/shopify-cli-2.18.1/lib/shopify_cli/core/entry_point.rb:24:in block in call'
from C:/Ruby31-x64/lib/ruby/gems/3.1.0/gems/shopify-cli-2.18.1/lib/shopify_cli/core/monorail.rb:26:in log' from C:/Ruby31-x64/lib/ruby/gems/3.1.0/gems/shopify-cli-2.18.1/lib/shopify_cli/core/entry_point.rb:23:in call'
from C:/Ruby31-x64/lib/ruby/gems/3.1.0/gems/shopify-cli-2.18.1/bin/shopify:50:in block (2 levels) in <top (required)>' from C:/Ruby31-x64/lib/ruby/gems/3.1.0/gems/shopify-cli-2.18.1/vendor/deps/cli-kit/lib/cli/kit/error_handler.rb:75:in handle_abort'
from C:/Ruby31-x64/lib/ruby/gems/3.1.0/gems/shopify-cli-2.18.1/vendor/deps/cli-kit/lib/cli/kit/error_handler.rb:21:in call' from C:/Ruby31-x64/lib/ruby/gems/3.1.0/gems/shopify-cli-2.18.1/bin/shopify:49:in block in <top (required)>'
from C:/Ruby31-x64/lib/ruby/gems/3.1.0/gems/shopify-cli-2.18.1/bin/shopify:59:in <top (required)>' from C:/Ruby31-x64/bin/shopify:32:in load'
from C:/Ruby31-x64/bin/shopify:32:in `'
Hey before running the command make sure you check these:
You are in the theme root folder.
You are logged in using shopify login and you have the right to edit themes.
You are connected to your internet.
If all of these are checked you might wanna reduce the Shopify version to a lower version like 2.5.0, or submit a bug in Shopify CLI in Github here: https://github.com/Shopify/shopify-cli/issues

"Attempted to redefine prop" error with T::Struct

I'm trying to make use of T::Struct to avoid some boilerplate in a class:
https://github.com/andyw8/codeclimate-engine-rb/pull/13/commits/d1fd72e22a4b9737ef2fe759215fb1c73c25e3bb
srb tc doesn't report any errors, but when I run the tests it fails with:
ArgumentError:
Attempted to redefine prop :check_name that's already defined without specifying :override => true: {:type=>String, :type_is_custom_type=>nil, :type_is_serializable=>nil, :type_is_array_of_serializable=>false, :type_is_hash_of_serializable_values=>false, :type_is_hash_of_custom_type_keys=>false, :type_object=>#<T::Types::Simple:0x00007fc611266e78 #raw_type=String>, :type_needs_clone=>false, :accessor_key=>:#check_name, :sensitivity=>nil, :pii=>nil, :extra=>nil, :serialized_form=>"check_name", :fully_optional=>false, :need_nil_read_check=>nil}
# /Users/awaite/.rvm/gems/ruby-2.4.4/gems/sorbet-runtime-0.5.5188/lib/types/props/decorator.rb:56:in `add_prop_definition'
# /Users/awaite/.rvm/gems/ruby-2.4.4/gems/sorbet-runtime-0.5.5188/lib/types/private/methods/call_validation.rb:126:in `call'
# /Users/awaite/.rvm/gems/ruby-2.4.4/gems/sorbet-runtime-0.5.5188/lib/types/private/methods/call_validation.rb:126:in `validate_call'
# /Users/awaite/.rvm/gems/ruby-2.4.4/gems/sorbet-runtime-0.5.5188/lib/types/private/methods/call_validation.rb:186:in `block in create_validator_slow'
# /Users/awaite/.rvm/gems/ruby-2.4.4/gems/sorbet-runtime-0.5.5188/lib/types/props/optional.rb:48:in `add_prop_definition'
# /Users/awaite/.rvm/gems/ruby-2.4.4/gems/sorbet-runtime-0.5.5188/lib/types/props/serializable.rb:311:in `add_prop_definition'
# /Users/awaite/.rvm/gems/ruby-2.4.4/gems/sorbet-runtime-0.5.5188/lib/types/props/decorator.rb:490:in `prop_defined'
# /Users/awaite/.rvm/gems/ruby-2.4.4/gems/sorbet-runtime-0.5.5188/lib/types/private/methods/call_validation.rb:126:in `call'
# /Users/awaite/.rvm/gems/ruby-2.4.4/gems/sorbet-runtime-0.5.5188/lib/types/private/methods/call_validation.rb:126:in `validate_call'
# /Users/awaite/.rvm/gems/ruby-2.4.4/gems/sorbet-runtime-0.5.5188/lib/types/private/methods/call_validation.rb:186:in `block in create_validator_slow'
# /Users/awaite/.rvm/gems/ruby-2.4.4/gems/sorbet-runtime-0.5.5188/lib/types/props/_props.rb:109:in `prop'
# ./lib/cc_engine/issue.rb:8:in `<class:Issue>'
If I re-order the props, I get the same error but for description instead.
Is it perhaps because I'm using a struct but also defining methods on it? I know Ruby's Struct supports that but I'm not sure about Sorbet's T::Struct.
Solved: I had to add a dependency, require "cc_engine/location" (although I don't yet understand why it caused that particular error message).
I got this error when I tried to type a value prior to its type being defined
class MyStruct < T::Struct
extend T::Sig
const :some_const, MyEnumType
class MyEnumType < T::Enum
...
end
end
Moving the definition of MyEnumType to be above the definition of some_const fixed the issue.

Connection timeout for SOCKSProxy Calls in resque Rails production mode

i have simple background job that runs using resque-pool which makes certain socksproxy call. This works fine when i start the resque-pool in Rails development mode as soon as i change to production mode i hit connection timeout with background job
The same code works when executed in
Rails Console in Production mode
Standalone ruby script invoked from command line
calls are something like:
req = Net::HTTP::Get.new(uri.request_uri)
response = Net::HTTP.SOCKSProxy(#socks_server, #socks_port).start(uri.host, uri.port) do |http|
http.request(req)
end
Investigation:
when this call happens in net/http.rb
TCPSocket.open(conn_address, conn_port, #local_host, #local_port)
i found that in production mode worker child process instead of loading
TCPSocket class from socksify-1.7.0/lib/socksify.rb it is still loading from ruby provided resolv-replace.rb. Not sure why though.
Error i see:
Connection timed out - connect(2) for "" port 6455:
/usr/lib/ruby/gems/2.1.0/gems/socksify-1.7.0/lib/socksify.rb:178:in
initialize'
/usr/lib/ruby/gems/2.1.0/gems/socksify-1.7.0/lib/socksify.rb:178:in
initialize' /usr/lib/ruby/2.1.0/resolv-replace.rb:23:in initialize'
/usr/lib/ruby/2.1.0/net/http.rb:879:inopen'
/usr/lib/ruby/2.1.0/net/http.rb:879:in block in connect'
/usr/lib/ruby/2.1.0/timeout.rb:76:intimeout'
/usr/lib/ruby/2.1.0/net/http.rb:878:in connect'
/usr/lib/ruby/2.1.0/net/http.rb:863:indo_start'
/usr/lib/ruby/2.1.0/net/http.rb:852:in start'
/usr/lib/ruby/2.1.0/net/http.rb:583:instart'
/usr/lib/ruby/gems/2.1.0/gems/retries-0.0.5/lib/retries.rb:46:in
call'
/usr/lib/ruby/gems/2.1.0/gems/retries-0.0.5/lib/retries.rb:46:in
with_retries'
/usr/lib/ruby/gems/2.1.0/gems/resque-1.26.0/lib/resque/job.rb:177:in
block (3 levels) in perform'
/usr/lib/ruby/gems/2.1.0/gems/newrelic_rpm-3.16.2.321/lib/new_relic/agent/instrumentation/resque.rb:41:in
block in around_perform_with_monitoring'
/usr/lib/ruby/gems/2.1.0/gems/newrelic_rpm-3.16.2.321/lib/new_relic/agent/instrumentation/controller_instrumentation.rb:363:in
`perform_action_with_newrelic_trace'
/usr/lib/ruby/gems/2.1.0/gems/newrelic_rpm-3.16.2.321/lib/new_relic/agent/instrumentation/resque.rb:33:in
around_perform_with_monitoring'
/usr/lib/ruby/gems/2.1.0/gems/resque-1.26.0/lib/resque/job.rb:176:in
block (2 levels) in perform'
/usr/lib/ruby/gems/2.1.0/gems/resque-1.26.0/lib/resque/job.rb:172:in
call'
/usr/lib/ruby/gems/2.1.0/gems/resque-1.26.0/lib/resque/job.rb:172:in
block (3 levels) in perform' ../app/jobs/resque_hooks.rb:15:in
around_perform_job_duration'
/usr/lib/ruby/gems/2.1.0/gems/resque-1.26.0/lib/resque/job.rb:172:in
block (2 levels) in perform'
/usr/lib/ruby/gems/2.1.0/gems/resque-1.26.0/lib/resque/job.rb:184:in
call'
/usr/lib/ruby/gems/2.1.0/gems/resque-1.26.0/lib/resque/job.rb:184:in
perform'
/usr/lib/ruby/gems/2.1.0/gems/resque-1.26.0/lib/resque/worker.rb:290:in
perform'
/usr/lib/ruby/gems/2.1.0/gems/resque-1.26.0/lib/resque/worker.rb:229:in
block in work'
/usr/lib/ruby/gems/2.1.0/gems/resque-1.26.0/lib/resque/worker.rb:206:in
loop'
/usr/lib/ruby/gems/2.1.0/gems/resque-1.26.0/lib/resque/worker.rb:206:in
work'
/usr/lib/ruby/gems/2.1.0/gems/resque-pool-0.6.0/lib/resque/pool.rb:396:in
block in spawn_worker!'
/usr/lib/ruby/gems/2.1.0/gems/resque-pool-0.6.0/lib/resque/pool.rb:389:in
fork'
/usr/lib/ruby/gems/2.1.0/gems/resque-pool-0.6.0/lib/resque/pool.rb:389:in
spawn_worker!'
/usr/lib/ruby/gems/2.1.0/gems/resque-pool-0.6.0/lib/resque/pool.rb:367:in
block in spawn_missing_workers_for'
/usr/lib/ruby/gems/2.1.0/gems/resque-pool-0.6.0/lib/resque/pool.rb:366:in
times'
/usr/lib/ruby/gems/2.1.0/gems/resque-pool-0.6.0/lib/resque/pool.rb:366:in
spawn_missing_workers_for'
/usr/lib/ruby/gems/2.1.0/gems/resque-pool-0.6.0/lib/resque/pool.rb:352:in
block in maintain_worker_count'
/usr/lib/ruby/gems/2.1.0/gems/resque-pool-0.6.0/lib/resque/pool.rb:350:in
each'
/usr/lib/ruby/gems/2.1.0/gems/resque-pool-0.6.0/lib/resque/pool.rb:350:in
maintain_worker_count'
/usr/lib/ruby/gems/2.1.0/gems/resque-pool-0.6.0/lib/resque/pool.rb:263:in
start'
/usr/lib/ruby/gems/2.1.0/gems/resque-pool-0.6.0/lib/resque/pool.rb:89:in
run'
/usr/lib/ruby/gems/2.1.0/gems/resque-pool-0.6.0/lib/resque/pool/tasks.rb:17:in
block (2 levels) in '
/usr/lib/ruby/gems/2.1.0/gems/rake-11.2.2/lib/rake/task.rb:248:in
call'
/usr/lib/ruby/gems/2.1.0/gems/rake-11.2.2/lib/rake/task.rb:248:in
block in execute'
/usr/lib/ruby/gems/2.1.0/gems/rake-11.2.2/lib/rake/task.rb:243:in
each'
/usr/lib/ruby/gems/2.1.0/gems/rake-11.2.2/lib/rake/task.rb:243:in
execute'
/usr/lib/ruby/gems/2.1.0/gems/airbrake-5.5.0/lib/airbrake/rake/task_ext.rb:19:in
execute'
/usr/lib/ruby/gems/2.1.0/gems/rake-11.2.2/lib/rake/task.rb:187:in
block in invoke_with_call_chain'
/usr/lib/ruby/2.1.0/monitor.rb:211:in mon_synchronize'
/usr/lib/ruby/gems/2.1.0/gems/rake-11.2.2/lib/rake/task.rb:180:in
invoke_with_call_chain
After more investigation it turns due to newrelic gem enabled in production mode. newrelic requires resolv-replace this didnt go well with socksify gem and resque background job. As i did not need new relic anymore, simply by disabling it i was able to overcome this issue.

Undefined class/module in ruby on rails

I created map_job.rb in project lib folder. But why I am getting this error when delayed job.
error message
"last_error": "Job failed to load: undefined class/module MapJob. Handler: \"--- !ruby/struct:MapJob\nid: aa\n\"\n/app/vendor/bundle/ruby/1.9.1/gems/delayed_job-3.0.5/lib/delayed/backend/base.rb:87:in rescue in payload_object'\n/app/vendor/bundle/ruby/1.9.1/gems/delayed_job-3.0.5/lib/delayed/backend/base.rb:85:inpayload_object'\n/app/vendor/bundle/ruby/1.9.1/gems/delayed_job-3.0.5/lib/delayed/backend/base.rb:95:in block in invoke_job'\n/app/vendor/bundle/ruby/1.9.1/gems/delayed_job-3.0.5/lib/delayed/lifecycle.rb:60:incall'\n/app/vendor/bundle/ruby/1.9.1/gems/delayed_job-3.0.5/lib/delayed/lifecycle.rb:60:in block in initialize'\n/app/vendor/bundle/ruby/1.9.1/gems/delayed_job-3.0.5/lib/delayed/lifecycle.rb:65:incall'\n/app/vendor/bundle/ruby/1.9.1/gems/delayed_job-3.0.5/lib/delayed/lifecycle.rb:65:in execute'\n/app/vendor/bundle/ruby/1.9.1/gems/delayed_job-3.0.5/lib/delayed/lifecycle.rb:38:inrun_callbacks'\n/app/vendor/bundle/ruby/1.9.1/gems/delayed_job-3.0.5/lib/delayed/backend/base.rb:92:in invoke_job'\n(eval):3:inblock in invoke_job_with_newrelic_transaction_trace'\n/app/vendor/bundle/ruby/1.9.1/gems/newrelic_rpm-3.9.2.239/lib/new_relic/agent/instrumentation/controller_instrumentation.rb:365:in perform_action_with_newrelic_trace'\n(eval):2:ininvoke_job_with_newrelic_transaction_trace'\n/app/vendor/bundle/ruby/1.9.1/gems/delayed_job-3.0.5/lib/delayed/worker.rb:203:in block (2 levels) in run'\n/app/vendor/ruby-1.9.3/lib/ruby/1.9.1/timeout.rb:69:intimeout'\n/app/vendor/bundle/ruby/1.9.1/gems/delayed_job-3.0.5/lib/delayed/worker.rb:203:in block in run'\n/app/vendor/ruby-1.9.3/lib/ruby/1.9.1/benchmark.rb:295:inrealtime'\n/app/vendor/bundle/ruby/1.9.1/gems/delayed_job-3.0.5/lib/delayed/worker.rb:202:in run'\n/app/vendor/bundle/ruby/1.9.1/gems/delayed_job-3.0.5/lib/delayed/worker.rb:259:inblock in reserve_and_run_one_job'\n/app/vendor/bundle/ruby/1.9.1/gems/delayed_job-3.0.5/lib/delayed/lifecycle.rb:60:in call'\n/app/vendor/bundle/ruby/1.9.1/gems/delayed_job-3.0.5/lib/delayed/lifecycle.rb:60:inblock in initialize'\n/app/vendor/bundle/ruby/1.9.1/gems/delayed_job-3.0.5/lib/delayed/lifecycle.rb:65:in call'\n/app/vendor/bundle/ruby/1.9.1/gems/delayed_job-3.0.5/lib/delayed/lifecycle.rb:65:inexecute'\n/app/vendor/bundle/ruby/1.9.1/gems/delayed_job-3.0.5/lib/delayed/lifecycle.rb:38:in run_callbacks'\n/app/vendor/bundle/ruby/1.9.1/gems/delayed_job-3.0.5/lib/delayed/worker.rb:259:inreserve_and_run_one_job'\n/app/vendor/bundle/ruby/1.9.1/gems/delayed_job-3.0.5/lib/delayed/worker.rb:187:in block in work_off'\n/app/vendor/bundle/ruby/1.9.1/gems/delayed_job-3.0.5/lib/delayed/worker.rb:186:intimes'\n/app/vendor/bundle/ruby/1.9.1/gems/delayed_job-3.0.5/lib/delayed/worker.rb:186:in work_off'\n/app/vendor/bundle/ruby/1.9.1/gems/delayed_job-3.0.5/lib/delayed/worker.rb:151:inblock (4 levels) in start'\n/app/vendor/ruby-1.9.3/lib/ruby/1.9.1/benchmark.rb:295:in realtime'\n/app/vendor/bundle/ruby/1.9.1/gems/delayed_job-3.0.5/lib/delayed/worker.rb:150:inblock (3 levels) in start'\n/app/vendor/bundle/ruby/1.9.1/gems/delayed_job-3.0.5/lib/delayed/lifecycle.rb:60:in call'\n/app/vendor/bundle/ruby/1.9.1/gems/delayed_job-3.0.5/lib/delayed/lifecycle.rb:60:inblock in initialize'\n/app/vendor/bundle/ruby/1.9.1/gems/delayed_job-3.0.5/lib/delayed/lifecycle.rb:65:in call'\n/app/vendor/bundle/ruby/1.9.1/gems/delayed_job-3.0.5/lib/delayed/lifecycle.rb:65:inexecute'\n/app/vendor/bundle/ruby/1.9.1/gems/delayed_job-3.0.5/lib/delayed/lifecycle.rb:38:in run_callbacks'\n/app/vendor/bundle/ruby/1.9.1/gems/delayed_job-3.0.5/lib/delayed/worker.rb:149:inblock (2 levels) in start'\n/app/vendor/bundle/ruby/1.9.1/gems/delayed_job-3.0.5/lib/delayed/worker.rb:148:in loop'\n/app/vendor/bundle/ruby/1.9.1/gems/delayed_job-3.0.5/lib/delayed/worker.rb:148:inblock in start'\n/app/vendor/bundle/ruby/1.9.1/gems/delayed_job-3.0.5/lib/delayed/plugins/clear_locks.rb:7:in call'\n/app/vendor/bundle/ruby/1.9.1/gems/delayed_job-3.0.5/lib/delayed/plugins/clear_locks.rb:7:inblock (2 levels) in '\n/app/vendor/bundle/ruby/1.9.1/gems/delayed_job-3.0.5/lib/delayed/lifecycle.rb:78:in call'\n/app/vendor/bundle/ruby/1.9.1/gems/delayed_job-3.0.5/lib/delayed/lifecycle.rb:78:inblock (2 levels) in add'\n/app/vendor/bundle/ruby/1.9.1/gems/delayed_job-3.0.5/lib/delayed/lifecycle.rb:60:in call'\n/app/vendor/bundle/ruby/1.9.1/gems/delayed_job-3.0.5/lib/delayed/lifecycle.rb:60:inblock in initialize'\n/app/vendor/bundle/ruby/1.9.1/gems/delayed_job-3.0.5/lib/delayed/lifecycle.rb:78:in call'\n/app/vendor/bundle/ruby/1.9.1/gems/delayed_job-3.0.5/lib/delayed/lifecycle.rb:78:inblock in add'\n/app/vendor/bundle/ruby/1.9.1/gems/delayed_job-3.0.5/lib/delayed/lifecycle.rb:65:in call'\n/app/vendor/bundle/ruby/1.9.1/gems/delayed_job-3.0.5/lib/delayed/lifecycle.rb:65:inexecute'\n/app/vendor/bundle/ruby/1.9.1/gems/delayed_job-3.0.5/lib/delayed/lifecycle.rb:38:in run_callbacks'\n/app/vendor/bundle/ruby/1.9.1/gems/delayed_job-3.0.5/lib/delayed/worker.rb:147:instart'\n/app/vendor/bundle/ruby/1.9.1/gems/delayed_job-3.0.5/lib/delayed/tasks.rb:9:in block (2 levels) in <top (required)>'\n/app/vendor/bundle/ruby/1.9.1/gems/rake-10.3.2/lib/rake/task.rb:240:incall'\n/app/vendor/bundle/ruby/1.9.1/gems/rake-10.3.2/lib/rake/task.rb:240:in block in execute'\n/app/vendor/bundle/ruby/1.9.1/gems/rake-10.3.2/lib/rake/task.rb:235:ineach'\n/app/vendor/bundle/ruby/1.9.1/gems/rake-10.3.2/lib/rake/task.rb:235:in execute'\n/app/vendor/bundle/ruby/1.9.1/gems/rake-10.3.2/lib/rake/task.rb:179:inblock in invoke_with_call_chain'\n/app/vendor/ruby-1.9.3/lib/ruby/1.9.1/monitor.rb:211:in mon_synchronize'\n/app/vendor/bundle/ruby/1.9.1/gems/rake-10.3.2/lib/rake/task.rb:172:ininvoke_with_call_chain'\n/app/vendor/bundle/ruby/1.9.1/gems/rake-10.3.2/lib/rake/task.rb:165:in invoke'\n/app/vendor/bundle/ruby/1.9.1/gems/rake-10.3.2/lib/rake/application.rb:150:ininvoke_task'\n/app/vendor/bundle/ruby/1.9.1/gems/rake-10.3.2/lib/rake/application.rb:106:in block (2 levels) in top_level'\n/app/vendor/bundle/ruby/1.9.1/gems/rake-10.3.2/lib/rake/application.rb:106:ineach'\n/app/vendor/bundle/ruby/1.9.1/gems/rake-10.3.2/lib/rake/application.rb:106:in block in top_level'\n/app/vendor/bundle/ruby/1.9.1/gems/rake-10.3.2/lib/rake/application.rb:115:inrun_with_threads'\n/app/vendor/bundle/ruby/1.9.1/gems/rake-10.3.2/lib/rake/application.rb:100:in top_level'\n/app/vendor/bundle/ruby/1.9.1/gems/rake-10.3.2/lib/rake/application.rb:78:inblock in run'\n/app/vendor/bundle/ruby/1.9.1/gems/rake-10.3.2/lib/rake/application.rb:176:in standard_exception_handling'\n/app/vendor/bundle/ruby/1.9.1/gems/rake-10.3.2/lib/rake/application.rb:75:inrun'\n/app/vendor/bundle/ruby/1.9.1/gems/rake-10.3.2/bin/rake:33:in <top (required)>'\n/app/vendor/bundle /ruby/1.9.1/bin/rake:23:inload'\n/app/vendor/bundle/ruby/1.9.1/bin/rake:23:in `'",
Please help me. Any help would be greatly appreciated!
You need to autoload map_job.rb
Do this in your application.rb file and restart your server.
require "#{Rails.root.to_s}/lib/map_job.rb"
Do you have a class/Module named MapJob in your map_job.rb file?. The Error complains that you have not defined a class/module with that name

rails 3 console error

I have got this error message when using rails3 consol
irb(main):018:0> WebtrisulMenu.find(1)
NoMethodError: undefined method eq' for nil:NilClass
from /usr/local/lib/ruby/gems/1.9.1/gems/activesupport-3.0.9/lib/active_support/whiny_nil.rb:48:inmethod_missing'
from /usr/local/lib/ruby/gems/1.9.1/gems/activerecord-3.0.9/lib/active_record/relation/finder_methods.rb:299:in find_one'
from /usr/local/lib/ruby/gems/1.9.1/gems/activerecord-3.0.9/lib/active_record/relation/finder_methods.rb:289:infind_with_ids'
from /usr/local/lib/ruby/gems/1.9.1/gems/activerecord-3.0.9/lib/active_record/relation/finder_methods.rb:107:in find'
from /usr/local/lib/ruby/gems/1.9.1/gems/activerecord-3.0.9/lib/active_record/base.rb:444:infind'
from (irb):18
from /usr/local/lib/ruby/gems/1.9.1/gems/railties-3.0.9/lib/rails/commands/console.rb:44:in start'
from /usr/local/lib/ruby/gems/1.9.1/gems/railties-3.0.9/lib/rails/commands/console.rb:8:instart'
from /usr/local/lib/ruby/gems/1.9.1/gems/railties-3.0.9/lib/rails/commands.rb:23:in <top (required)>'
from script/rails:6:inrequire'
from script/rails:6:in `'
But using like this ,its working fine
irb(main):019:0> WebtrisulContext.find(:all,:conditions=>['id =1'])
=> WebtrisulContext id: 1, name: "Primary", internal_name: "", description: "The default Web Trisul context", slinkname: "root_ctx0", webtrisul_dashboard_id: nil
please help me to get out of this?
There is something wrong with your WebtrisulMenu class. It's not getting initialized when Rails environment is loaded as the nilclass error tells me.
Therefore, You are unable to do find on the WebtrisulMenu model.
See for anything wrong in this model, and if you can't figure it out yourself, post the contents of the file here.