On Tue, Jan 26, 2010 at 9:07 PM, David <[email protected]> wrote:
> 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
>
The Ruby way would be to do the following:
every :day , :at => "6:00 pm" do
runner "User.all.each { |user| <do_some_work> }"
end
Good luck,
-Conrad
> 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]<rubyonrails-talk%[email protected]>
> .
> For more options, visit this group at
> http://groups.google.com/group/rubyonrails-talk?hl=en.
>
>
--
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.