Jeff, A few pointers since I am maintaining and enhancing a rather large application with similar functionality. It seems to work well (most of the times):
I am firing an SQL query every minute to check for reminders instead of 15 minutes so the actual query is not an issue. Its construction is: you may want to create a separate table called "reminders" (or something similar) which stores reminders records for only those users who want them. That way if majority of your users do not use this functionality, you are not incurring an unnecessary overhead. This table will have an id as every rails table does and will have an index on id. It should also have the foreign keys, at least for the users (user_id), make sure that it is indexed as well since you will be joining reminders and users table based on this foreign key. You can have other foreign keys as well, for example, event_id if the reminders are for particular events. That is how one to many relationship works. You may want to refer to any of the online tutorials available on basic database design which is a prerequisite to making good rails applications. The scheduling of these recurring tasks is also important. You want to use a cron style scheduler that does not load the rails environment every time the task is run. If you use the unix/linux cron to schedule a rails runner, it will load rails environment everytime you call the task which is a very slow and demanding process. My application uses Backgroundrb. I am looking for alternatives which are simpler, easier to debug, and more reliable. The point of all this is that you are not taking on a trivial task, rather a substantial one if you want to better architect your application so you may want to think through it carefully. Having said that, you are thinking of the right things. May be you want to experiment with a prototype which is not in your critical path? Hope this helps. Regards, Bharat --~--~---------~--~----~------------~-------~--~----~ 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 -~----------~----~----~----~------~----~------~--~---

