Best way to create a reminders system (like backpack's)

Hey all,

I have some idea's floating around in my head and I'd like any opinions on the best way to go about it and how to do it.

I'm basically wanting to create a simple reminders system in my apps. Ideally it would be something similar to backpacks reminders, though now all I'm looking for is just email alert functionality.

The process for the user I want to be as simple as:

1.) Click create 2.) Enter title, reminder note, due date and reminder (i.e 1 hour before, 1 day before, 1 week before etc..) 3.) Click save ... (#4 in the future) Email gets sent out based on when they want the reminder.

What I'm trying to figure out is how best to "poll" the table rows of saved reminders to send out the actual emails in an accurate way. Do I use something like backgroundrb? Do I make a method that scans the db once a day via cron and "schedules" the reminders coming up to send out via ActionMailer? I don't know how they designed the system in backpack but I wouldn't think it would be too hard.

Thanks for any ideas or advice in advance.

I believe the new version of BackgrounDrb has a scheduler task built into. According to Ezra's page 'The new release comes with a brand new job scheduler. You can use simple triggers like repeat_every or you can get more complex and use full cron compatible syntax.'

I haven't used it so I can't say how well it fits your needs. It may be a good Ruby based alternative to cron.

http://brainspl.at/articles/2006/10/30/backgroundrb-0-2-0-released

excellent guys, thanks for the info. I will definitely check it out.

Another option I was thinking about after checking out all this stuff was perhaps to just write a single method to do it all and put a runner that calls it in cron and have that set for every 5 minutes or so.

But from a efficiency and simplicity standpoint are there some bad points to that idea?