AWS Batch as a Laravel Queue

Apr 1, 2017

We use Laravel for all of our APIs at Intouch Insight, so when AWS Batch was released, I started
wondering about backing our Laravel Queues with AWS Batch. This seemed like the perfect opportunity to give back,
since I’m sure others are looking at Batch with the same interest that I am. A few evenings of playing around, and
here we are.

Initially the plugin has been built for Laravel 5.1, since we use the LTS releases. Support for 5.4 will be coming, or
quite possibly could already be working, but I need to review what has changed in the underlying queue classes before
making that promise.

If you review the implementation, you’ll see that I based my work off the DatabaseQueue
class, as we need a place to store jobs before batch can process them. Serializing the entire job payload and passing that
as a string through the job submission to batch seemed like it could be error prone, to say the least.

Tests are needed, and will be coming. I’d love to hear feedback, or receive pull requests for improvements.