You want to write a rake task that runs as a cron task every day.

lib/tasks/my_task.rake

task :touch_every_user => :environment do
  User.find_each {|user| user.touch }
  # perform some other heavy calculation and save it back to the user
end

For the cron task:
go to server, type "crontab -e"
15 0* * * /path/to/rails/root rake touch_every_user
RAILS_ENV=production

On Jan 26, 8:47 pm, Vincent P <[email protected]> wrote:
> I have an administrative task that I need to run once a day:  I need
> to iterate through each user in the User table in the database, do
> some calculation involving some other models, and update each user
> record in the database.
>
> I am thinking about just doing it at the console (env=production).
> But I don't want to type all the statements again each time I carry
> out this task.  Is there a way to put this in a script and just run
> the script?
>
> Eventually, I'd like to schedule the task to run automatically every
> day, and have some sort of progress display when the task is run.
>
> Thanks,
>
> Vincent.

-- 
You received this message because you are subscribed to the Google Groups "Ruby 
on Rails: Talk" group.
To post to this group, send email to [email protected].
To unsubscribe from this group, send email to 
[email protected].
For more options, visit this group at 
http://groups.google.com/group/rubyonrails-talk?hl=en.

Reply via email to