title: Rufus Scheduler: run every x seconds with first run immediately
body: <p>I'm using the rufus scheduler to have some tasks execute every so often. I'd like the tasks to all run more or less immediately when the script starts and then at the given interval. This doesn't seem to be supported by API, or am I missing something?</p>
  
  <p>I've resorted to specifying 0.1 seconds as the delay until the first run as follows</p>
  
  <pre><code>scheduler = Rufus::Scheduler.new
  
  scheduler.every '10s', :first_in =&gt; 0.1 do
      #do some work
  end 
  </code></pre>
  
  <p>If the <code>:first_in</code> property is set to 0, the scheduler waits the full 10 second before running the first time. If the value is set too low (I suppose to something that evaluates to in the past when it comes to execute the task), or if I use <code>Time.now</code>, the following error is raised:</p>
  
  <pre><code>~/.ruby/gems/rufus-scheduler-3.0.4/lib/rufus/scheduler/jobs.rb:383:in `first_at=': cannot set first[_at|_in] in the past: 1.0e-07 -&gt; 2014-01-22 10:44:32 +0000 (ArgumentError)
      from ~/.ruby/gems/rufus-scheduler-3.0.4/lib/rufus/scheduler/jobs.rb:445:in `first_at='
      from ~/.ruby/gems/rufus-scheduler-3.0.4/lib/rufus/scheduler/jobs.rb:370:in `initialize'
      from ~/.ruby/gems/rufus-scheduler-3.0.4/lib/rufus/scheduler/jobs.rb:457:in `initialize'
      from ~/.ruby/gems/rufus-scheduler-3.0.4/lib/rufus/scheduler.rb:570:in `new'
      from ~/.ruby/gems/rufus-scheduler-3.0.4/lib/rufus/scheduler.rb:570:in `do_schedule'
      from ~/.ruby/gems/rufus-scheduler-3.0.4/lib/rufus/scheduler.rb:207:in `every'
      from rufus_runner.rb:11:in `&lt;main&gt;'
  </code></pre>
  
  <p>Any idea what the right way is to do this?</p>