Closed i906 closed 1 year ago
Previously, I have to add additional environment variables to get SQS working in my worker.php function.
worker.php
<?php use Bref\LaravelBridge\Queue\LaravelSqsHandler; use Illuminate\Foundation\Application; use Illuminate\Support\Str; require __DIR__ . '/../vendor/autoload.php'; /** @var Application $app */ $app = require __DIR__ . '/../bootstrap/app.php'; $kernel = $app->make(Illuminate\Contracts\Console\Kernel::class); $kernel->bootstrap(); $prefix = getenv('SQS_PREFIX'); $suffix = getenv('SQS_SUFFIX'); $queue = getenv('SQS_QUEUE'); $url = filter_var($queue, FILTER_VALIDATE_URL) === false ? rtrim($prefix, '/') . '/' . Str::finish($queue, $suffix) : $queue; return $app->makeWith(LaravelSqsHandler::class, [ 'connection' => 'sqs', 'queue' => $url, ]);
With this PR, my worker.php can look like this:
// worker.php <?php require __DIR__ . '/base.php'; return Laravel::make(Bref\LaravelBridge\Queue\LaravelSqsHandler::class);
// base.php <?php require __DIR__ . '/../vendor/autoload.php'; use Illuminate\Foundation\Application; class Laravel { public static function make($abstract, array $parameters = []) { /** @var Application $app */ $app = require __DIR__ . '/../bootstrap/app.php'; $kernel = $app->make(\Illuminate\Contracts\Console\Kernel::class); $kernel->bootstrap(); return $app->make($abstract, $parameters); } }
Will be covered by https://github.com/brefphp/laravel-bridge/pull/94
Previously, I have to add additional environment variables to get SQS working in my
worker.php
function.With this PR, my
worker.php
can look like this: