def fire_callback
      begin
        response = RestClient.post(callback_url, {:job => self.to_json})
        CloudCrowd.defer { self.destroy } if response && response.code == 201
      rescue RestClient::Exception => e
        CloudCrowd.log "Job ##{id} (#{action}) failed to fire callback: #{callback_url}\n#{e.backtrace}"
      end
    end
def fire_callback
      begin
        response = RestClient.post(callback_url, {:job => self.to_json})
        CloudCrowd.defer { self.destroy } if response && response.code == 201
      rescue RestClient::Exception => e
        CloudCrowd.log "Job ##{id} (#{action}) failed to fire callback: #{callback_url}\n#{e.backtrace}"
      end
    end
If a <tt>callback_url</tt> is defined, post the Job's JSON to it upon
 completion. The <tt>callback_url</tt> may include HTTP basic authentication,
 if you like:
   http://user:password@example.com/job_complete
 If the callback URL returns a '201 Created' HTTP status code, CloudCrowd
 will assume that the resource has been successfully created, and the Job
 will be cleaned up.