# Scheduled tasks on rails

**URL:** <https://www.ruby-forum.com/t/scheduled-tasks-on-rails/111790>\
**Category:** Rails\
**Created:** [August 10, 2007, 8:30pm UTC](https://www.ruby-forum.com/t/scheduled-tasks-on-rails/111790 "2007-08-10T20:30:53Z")\
**Posts on this page:** 5\
**Page:** 1

<div class="post-metadata">

**Author:** ![dark-omen](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/d/c68b51/32.png) [@dark-omen](https://www.ruby-forum.com/u/dark-omen)\
**Post date:** [August 10, 2007, 8:30pm UTC](https://www.ruby-forum.com/t/scheduled-tasks-on-rails/111790/1 "2007-08-10T20:30:53Z")

</div>

How do you set up automated tasks on rails. Say I wanted to send an  
update mailing every night at midnight to my users, or every night  
connect to a external database to update information on my database?

---

<div class="post-metadata">

**Author:** ![dark-omen](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/d/c68b51/32.png) [@dark-omen](https://www.ruby-forum.com/u/dark-omen)\
**Post date:** [August 10, 2007, 8:41pm UTC](https://www.ruby-forum.com/t/scheduled-tasks-on-rails/111790/2 "2007-08-10T20:41:19Z")

</div>

Hi,

> How do you set up automated tasks on rails. Say I wanted to send an  
> update mailing every night at midnight to my users, or every night  
> connect to a external database to update information on my database?

you can write a rake task and then invoke it with a cron-like tool  
(depending on your OS and preferences)

writing rake tasks is pretty straight-forward. In your rails directory  
there are a lot of tasks you can take a look for getting the flavour of  
it. They are under vendor/rails/railties/lib/tasks

regards,

javier ramírez

---

<div class="post-metadata">

**Author:** ![dark-omen](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/d/c68b51/32.png) [@dark-omen](https://www.ruby-forum.com/u/dark-omen)\
**Post date:** [August 10, 2007, 11:51pm UTC](https://www.ruby-forum.com/t/scheduled-tasks-on-rails/111790/3 "2007-08-10T23:51:41Z")

</div>

Check out this great [tutorial on using Rake for tasks](http://www.railsenvy.com/2007/6/11/%20ruby-on-rails-rake-tutorial)

---

<div class="post-metadata">

**Author:** ![dark-omen](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/d/c68b51/32.png) [@dark-omen](https://www.ruby-forum.com/u/dark-omen)\
**Post date:** [August 10, 2007, 11:52pm UTC](https://www.ruby-forum.com/t/scheduled-tasks-on-rails/111790/4 "2007-08-10T23:52:41Z")

</div>

On Aug 10, 2:30 pm, Scott Pn [removed\_email\_address@domain.invalid](mailto:removed_email_address@domain.invalid) wrote:

> ## How do you set up automated tasks on rails. Say I wanted to send an update mailing every night at midnight to my users, or every night connect to a external database to update information on my database?
> 
> Posted viahttp://www.ruby-forum.com/.

Check out this great Rake tutorial:  
[http://www.railsenvy.com/2007/6/11/ruby-on-rails-rake-tutorial](http://www.railsenvy.com/2007/6/11/ruby-on-rails-rake-tutorial)

---

<div class="post-metadata">

**Author:** ![dark-omen](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/d/c68b51/32.png) [@dark-omen](https://www.ruby-forum.com/u/dark-omen)\
**Post date:** [August 14, 2007, 2:58am UTC](https://www.ruby-forum.com/t/scheduled-tasks-on-rails/111790/5 "2007-08-14T02:58:36Z")

</div>

On Aug 10, 12:30 pm, Scott Pn [removed\_email\_address@domain.invalid](mailto:removed_email_address@domain.invalid)  
wrote:

> ## How do you set up automated tasks on rails. Say I wanted to send an update mailing every night at midnight to my users, or every night connect to a external database to update information on my database?
> 
> Posted viahttp://www.ruby-forum.com/.

I usually do something pretty simple: I create a class in the vendor  
directory, and then setup a cron job to run script\runner with that  
file. For example:

I have a file called session\_cleaner.rb in \vendor like this:

class SessionCleaner  
CGI::Session::ActiveRecordStore::Session.destroy\_all( [‘updated\_at  
\< ?’, 240.minutes.ago] )  
end

Then I have a cron job that runs:

ruby script\runner SessionCleaner -e production

I’ve also used this method for nightly emails to process new user  
signups, etc.

Dave  
[http://www.gotossh.com](http://www.gotossh.com) - web based SSH  
[http://www.stevensonsoftware.com](http://www.stevensonsoftware.com) - affordable VPS hosting
