Book Image

High Performance with Laravel Octane

By : Roberto Butti
5 (2)
Book Image

High Performance with Laravel Octane

5 (2)
By: Roberto Butti

Overview of this book

Laravel Octane is a very powerful component in the Laravel ecosystem that can help you achieve remarkable app performance. With Laravel Octane, you will find tools (queues, cache, and tables) that facilitate a new asynchronous approach for improving application performance. This book highlights how Laravel Octane works, what steps to take in designing an application from the start, what tools you have at your disposal, and how to set up production environments. It provides complete coverage of the strategies, tools, and best practices to make your apps scalable and performant. This is especially important as optimization is usually the overlooked part in the application development lifecycle. You will explore the asynchronous approach in Laravel and be able to release high-performing applications that have a positive impact on the end-user experience. By the end of this book, you will find yourself designing, developing, and releasing high-performance applications.
Table of Contents (14 chapters)
Part 1: The Architecture
Part 2: The Application Server
Part 3: Laravel Octane – a Complete Tour
Part 4: Speeding Up

Installing and configuring the queue

To create the data structure to store the jobs in the queue, we can execute the command in the terminal in our Laravel project directory:

php artisan queue:table

The command is provided by Laravel without the need to install additional packages.

The queue:table command creates a new migration file for creating the jobs table.

The file is created in the database/migrations/ directory.

Figure 6.1: The migration file for creating the jobs table

Figure 6.1: The migration file for creating the jobs table

The migration will create the following:

  • A new table named 'jobs'
  • 'id': For the unique identifier
  • 'queue': The queue name, helpful for controlling the queue via the command line
  • 'payload': The data in JSON format that contains information to manage and launch the task by the consumer of the queue
  • 'attempts': The number of attempts to execute the jobs
  • 'reserved_at': The timestamp when...