running model methods from command line

hi chaps - i've got a project where I have very limited resources on the
device rails runs on (raspberry pi) - basically i have rails server
running… then periodically i fire off rails runner Model.method (from
an external program on the device)…. all works fine but it's terribly
slow - I think it's because every time runner fires it's starting up a
whole new rails environment - is that assumption correct ?

After that - what's a better way ?

I mean I could use delayed job right ? but I don't see how that would
help as the environment would still have to be loaded each time - that
right ?

Try create just a ruby script and include 'rubygems' and 'active_record':

#!/path/to/ruby

require'rubygems'|

require'active_record'|

You must include all the models you need also.

Then give execute permission to your script:

You might also want (for the connection follow what's in your database.yml):

ActiveRecord::Base.establish_connection({
  adapter: ...
})

And you might want to require logger, and:

ActiveRecord::Base.logger = Logger.new(STDOUT)