title: Scrapy async item pipeline
body: <p>I'm writing an item pipeline that drops items onto a RabbitMQ queue using Pika. At the moment I'm using a blocking/synchronous approach which is obviously not a great idea. I would like to use an async approach similar to <a href="http://pika.readthedocs.org/en/latest/examples/twisted_example.html" rel="nofollow">this</a> but I can't work out how to add a deferred task to the already running reactor. For example the sample code for the twisted version of the pika connection shows this:</p>
  
  <pre><code>d = cc.connectTCP('hostname', 5672)
  d.addCallback(lambda protocol: protocol.ready)
  d.addCallback(run)
  reactor.run() # Problem is, it's already running
  </code></pre>
  
  <p>Does anyone have any pointers for how to add deferred tasks to a reactor that is already started?</p>