Standalone app, sort of

  • I need to create a daemon process that runs periodically in the
    background on a server and creates some export files from a database.

  • I’d like to write it in Ruby and use ActiveRecord & ERB.

  • Conveniently enough, I’m actually working on an RoR app that will be
    deployed on this server, against the same database, within a few months.
    So I might as well go ahead with a full RoR install on the server–no
    need to pick and choose gems.

  • This daemon process I want to create now really is not connected to
    that app, and so should live entirely outside that app’s directory
    structure.

I think it’s that last point that I don’t quite know what to do about.
My standalone daemon would, I guess, require ActiveXXX and a model.rb
file (or 2 or 3). Or perhaps no model file, just define the model
classes inline. (This daemon could easily fit in a single source file;
the model files will basically be empty.)

Thoughts?


Scott R.
[email protected]
http://www.elevated-dev.com/
(303) 722-0567 voice

On Sat, Jun 30, 2012 at 8:10 AM, Scott R.
[email protected] wrote:

  • I need to create a daemon process that runs periodically in the background on
    a server and creates some export files from a database.

A “daemon” process runs continuously; are you sure you don’t just
want to use cron? It’s made for “periodically” :slight_smile:

  • I’d like to write it in Ruby and use ActiveRecord & ERB.

If cron is an option, you could either write a standalone script, a rake
task or use a full Rails installation and rails runner.

FWIW,

Hassan S. ------------------------ [email protected]

twitter: @hassan

On 30 June 2012 16:10, Scott R. [email protected] wrote:

  • I need to create a daemon process that runs periodically in the background on
    a server and creates some export files from a database.

  • I’d like to write it in Ruby and use ActiveRecord & ERB.

  • Conveniently enough, I’m actually working on an RoR app that will be deployed
    on this server, against the same database, within a few months. So I might as well
    go ahead with a full RoR install on the server–no need to pick and choose gems.

  • This daemon process I want to create now really is not connected to that app,
    and so should live entirely outside that app’s directory structure.

I think it’s that last point that I don’t quite know what to do about. My
standalone daemon would, I guess, require ActiveXXX and a model.rb file (or 2 or
3). Or perhaps no model file, just define the model classes inline. (This daemon
could easily fit in a single source file; the model files will basically be
empty.)

If the code is fetching data from the database then put most of the
code in the model in the rails app and run it with a rake task,
possibly from cron. By putting it in the model you can test the
methods using the rails tests.

Colin