3slab/vdm-library-http-transport-bundle
queue:work) or event-driven architectures where external APIs/data sources must be polled.dispatch()) for asynchronous HTTP data ingestion, though Laravel lacks native Messenger support (would require Symfony Messenger integration via spatie/laravel-messenger).spatie/laravel-messenger (Symfony Messenger adapter for Laravel).HttpClient, which can be replaced with Laravel’s HttpClient via a custom http_executor service.queue:work by configuring the transport as a queue driver (requires custom driver implementation).spatie/laravel-messenger or custom glue code. May require significant abstraction.retry_strategy.max_retries must be 0 (hardcoded), limiting resilience. Laravel’s queue retries would need to handle this externally.schedule:run) or queue jobs with shouldQueue() suffice? Justify the need for Messenger.spatie/laravel-messenger vs. building a custom solution?spatie/laravel-queue-scheduler (for cron-like polling).Illuminate\Queue\Worker with HttpClient.HttpClient, queues, and event system).spatie/laravel-messenger (v1.0+).HttpClient + scheduled tasks (lower risk).spatie/laravel-messenger and 3slab/vdm-library-http-transport-bundle.http://ipconfig.io/json).HttpClient with Laravel’s via a custom http_executor service.Bus::dispatch()).spatie/laravel-messenger.http_executor service (e.g., inject Laravel’s HttpClient).retry_strategy must be managed externally.composer require spatie/laravel-messenger 3slab/vdm-library-http-transport-bundle
// config/messenger.php
'transports' => [
'http_polling' => [
'dsn' => 'http://api.example.com/data',
'options' => [
'method' => 'GET',
'http_executor' => App\Services\LaravelHttpExecutor::class,
],
],
],
Symfony\Component\Messenger\Attribute\AsMessageHandler or wrap in Laravel jobs.// AppServiceProvider
$this->app->make(\Spatie\LaravelMessenger\MessengerServiceProvider::class);
php artisan messenger:consume http_polling
php artisan queue:work
spatie/laravel-messenger may require updates to align with Laravel versions.http_executor or queue drivers will need maintenance as Laravel evolves.failed_jobs table.monolog).HttpClient vs. Laravel’s).| Failure Type | Impact | Mitigation |
|---|---|---|
| HTTP Endpoint Down | No data polled | Laravel queue retries + alerts (e.g., Laravel Monitor). |
| Transport Configuration | Broken DSN/method | Validation in config/messenger.php + health checks. |
| Symfony Messenger Issues | Workers crash | Use Laravel’s queue:failed-table + queue:retry. |
| Laravel Queue Failures | Jobs stuck in queue | Horizon dashboard + dead-letter queue. |
| Bundle Abandonment | Unmaintained code | Fork the bundle or migrate to Laravel-native solutions. |
http_executor) may need deep dives.http_options).How can I help you explore Laravel packages today?