Starling/Workling Setup

Hello everyone,

I'm attempting to get starling and workling set up on my system, and have been trying to closely follow the instruction listed in this railscast: http://media.railscasts.com/videos/128_starling_and_workling.mov

However, I've found a problem that I can't seem to solve on my own, and was hoping to get some guidance here.

I installed Workling with the following command (found on svn.playtype.net):

rails plugin install git://github.com/purzelrakete/workling.git

I installed starling by adding it to my Gemfile. I then created a worker, and added a call to it in a controller. I ran the starling daemon with:

starling -d -P tmp/starling.pid -q log/ -p 15151

However, when I try to run the workling monitor, with either:

script/workling_client start -t or RAILS_ENV=production ./script/workling_client start -t

I receive the following message:

workling: process with pid 22436 started. => Loading Rails... ** Rails loaded. ** Starting Workling::Remote::Invokers::ThreadedPoller... ** Use CTRL-C to stop. ** Exiting /home/john/.rvm/gems/ruby-1.9.2-p0/gems/activerecord-3.0.3/lib/active_record/base.rb:1008:in `method_missing': undefined method `allow_concurrency=' for ActiveRecord::Base:Class (NoMethodError)         from /home/john/kolwizard/vendor/plugins/workling/lib/workling/remote/invokers/threaded_poller.rb:28:in `listen'         from /home/john/kolwizard/vendor/plugins/workling/script/listen.rb:24:in `<top (required)>'         from /home/john/.rvm/gems/ruby-1.9.2-p0/gems/daemons-1.1.0/lib/daemons/application.rb:203:in `load'         from /home/john/.rvm/gems/ruby-1.9.2-p0/gems/daemons-1.1.0/lib/daemons/application.rb:203:in `start_load'         from /home/john/.rvm/gems/ruby-1.9.2-p0/gems/daemons-1.1.0/lib/daemons/application.rb:296:in `start'         from /home/john/.rvm/gems/ruby-1.9.2-p0/gems/daemons-1.1.0/lib/daemons/controller.rb:70:in `run'         from /home/john/.rvm/gems/ruby-1.9.2-p0/gems/daemons-1.1.0/lib/daemons.rb:143:in `block in run'         from /home/john/.rvm/gems/ruby-1.9.2-p0/gems/daemons-1.1.0/lib/daemons/cmdline.rb:112:in `call'         from /home/john/.rvm/gems/ruby-1.9.2-p0/gems/daemons-1.1.0/lib/daemons/cmdline.rb:112:in `catch_exceptions'         from /home/john/.rvm/gems/ruby-1.9.2-p0/gems/daemons-1.1.0/lib/daemons.rb:142:in `run'         from script/workling_client:17:in `<main>'

Any advise as to how to resolve this issue? Thanks in advance for any help!

John Detloff wrote in post #979364:

Hello everyone,

I'm attempting to get starling and workling set up on my system, and have been trying to closely follow the instruction listed in this railscast: http://media.railscasts.com/videos/128_starling_and_workling.mov

However, I've found a problem that I can't seem to solve on my own, and was hoping to get some guidance here.

I installed Workling with the following command (found on svn.playtype.net):

rails plugin install git://github.com/purzelrakete/workling.git

I installed starling by adding it to my Gemfile. I then created a worker, and added a call to it in a controller. I ran the starling daemon with:

starling -d -P tmp/starling.pid -q log/ -p 15151

However, when I try to run the workling monitor, with either:

script/workling_client start -t or RAILS_ENV=production ./script/workling_client start -t

I receive the following message:

workling: process with pid 22436 started. => Loading Rails... ** Rails loaded. ** Starting Workling::Remote::Invokers::ThreadedPoller... ** Use CTRL-C to stop. ** Exiting

/home/john/.rvm/gems/ruby-1.9.2-p0/gems/activerecord-3.0.3/lib/active_record/base.rb:1008:in

`method_missing': undefined method `allow_concurrency=' for ActiveRecord::Base:Class (NoMethodError)         from

/home/john/kolwizard/vendor/plugins/workling/lib/workling/remote/invokers/threaded_poller.rb:28:in

`listen'         from /home/john/kolwizard/vendor/plugins/workling/script/listen.rb:24:in `<top (required)>'         from

/home/john/.rvm/gems/ruby-1.9.2-p0/gems/daemons-1.1.0/lib/daemons/application.rb:203:in

`load'         from

/home/john/.rvm/gems/ruby-1.9.2-p0/gems/daemons-1.1.0/lib/daemons/application.rb:203:in

`start_load'         from

/home/john/.rvm/gems/ruby-1.9.2-p0/gems/daemons-1.1.0/lib/daemons/application.rb:296:in

`start'         from

/home/john/.rvm/gems/ruby-1.9.2-p0/gems/daemons-1.1.0/lib/daemons/controller.rb:70:in

`run'         from /home/john/.rvm/gems/ruby-1.9.2-p0/gems/daemons-1.1.0/lib/daemons.rb:143:in `block in run'         from

/home/john/.rvm/gems/ruby-1.9.2-p0/gems/daemons-1.1.0/lib/daemons/cmdline.rb:112:in

`call'         from

/home/john/.rvm/gems/ruby-1.9.2-p0/gems/daemons-1.1.0/lib/daemons/cmdline.rb:112:in

`catch_exceptions'         from /home/john/.rvm/gems/ruby-1.9.2-p0/gems/daemons-1.1.0/lib/daemons.rb:142:in `run'         from script/workling_client:17:in `<main>'

Any advise as to how to resolve this issue? Thanks in advance for any help!

I had the same issue with Rails 3, so I commented out the line

  #ActiveRecord::Base.allow_concurrency = true

in lib/workling/remote/invokers/threaded_poller.rb

It worked for me, try it out and let me know.