title: Is there a way to pass a callback as data parameter to Laravel 4.2 Queue::push()
body: <p>I've got some time-consuming code that processes the results of a series of HTTP requests that I'd like to run in the background.  I'm using a Redis store for managing the queue.  Here's what I've tried:</p>
  
  <pre><code>Queue::push( 'FetchUrls', [
      'urls'     =&gt; [ 'http://one.com', 'http://two.com', 'http://three.com' ],
      'complete' =&gt; function( $response ) { /* process data returned by URL here */ },
      'error'    =&gt; function( $error    ) { /* process HTTP errors here */ },
  ]);
  </code></pre>
  
  <p>What shows up in the Redis queue store is a <code>JSON</code> serialization of the <code>$data</code> parameter:</p>
  
  <pre><code>{
      "job": "FetchUrls",
      "data": { 
          "urls": [
              "http:\/\/one.com",
              "http:\/\/two.com",
              "http:\/\/three.com"
          ],
          "complete": [],
          "error": []
      },
      "id": "aAlkNM0ySLXcczlLYho19TlWYs9hStzl",
      "attempts": 1
  }
  </code></pre>
  
  <p>As you can see, the callbacks just show up as empty arrays in the queue store.  I've never used the Queue class before and so I may be approaching this problem in the wrong way.  I'm looking for a suggestion for the best way to work around this.  Thanks!</p>