title: polling with delayed_job
body: <p>I have a process which takes generally a few seconds to complete so I'm trying to use delayed_job to handle it asynchronously.  The job itself works fine, my question is how to go about polling the job to find out if it's done.</p>
  
  <p>I can get an id from delayed_job by simply assigning it to a variable:</p>
  
  <p>job = Available.delay.dosomething(:var => 1234)</p>
  
  <pre><code>+------+----------+----------+------------+------------+-------------+-----------+-----------+-----------+------------+-------------+
  | id   | priority | attempts | handler    | last_error | run_at      | locked_at | failed_at | locked_by | created_at | updated_at  |
  +------+----------+----------+------------+------------+-------------+-----------+-----------+-----------+------------+-------------+
  | 4037 | 0        | 0        | --- !ru... |            | 2011-04-... |           |           |           | 2011-04... | 2011-04-... |
  +------+----------+----------+------------+------------+-------------+-----------+-----------+-----------+------------+-------------+
  </code></pre>
  
  <p>But as soon as it completes the job it deletes it and searching for the completed record returns an error:</p>
  
  <pre><code>@job=Delayed::Job.find(4037)
  
  ActiveRecord::RecordNotFound: Couldn't find Delayed::Backend::ActiveRecord::Job with ID=4037
  
  @job= Delayed::Job.exists?(params[:id])
  </code></pre>
  
  <p>Should I bother to change this, and maybe postpone the deletion of complete records?  I'm not sure how else I can get a notification of it's status.  Or is polling a dead record as proof of completion ok?  Anyone else face something similar?</p>