title: Dynamic job scheduling in Rails
body: <p>I've had a look at a number of scheduling libraries for Rails and I'd like some help choosing one, given that none quite seem to meet my requirements. It's a fairly common use case:</p>
  
  <p>We have a number of reports and we'd like to let users set up when they would want to schedule when and how often a particular report is sent to them by mail. Users need to be able to see a list of the reports they have scheduled and they should be able to cancel or change existing scheduled reports. Scheduled jobs should survive restarts of the server. At the moment I'm not worried about only running jobs on a single node in a cluster of rails servers.</p>
  
  <ul>
  <li><a href="https://github.com/jmettraux/rufus-scheduler" rel="noreferrer">Rufus scheduler</a> looks good but I'd have to write code to persist the jobs and restart them when rails restarts.</li>
  <li><a href="https://github.com/collectiveidea/delayed_job" rel="noreferrer">Delayed_job</a> deals with persistence but I can't see how to run jobs on a regular schedule, except possibly in rescheduling a job at a new time when it runs</li>
  <li><a href="https://github.com/defunkt/resque" rel="noreferrer">resque</a> with <a href="https://github.com/bvandenbos/resque-scheduler" rel="noreferrer">resque-scheduler</a> seems very close but I'd like to avoid having to add redis to our stack and I'd likely end up trying to reimplement some of the UI in rails so that users can add / remove / manage jobs and it would great if it could use the same ActiveRecord backend as the rest of the application.</li>
  </ul>