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 `’

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 `’

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.