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.