EventDispatcher).Illuminate\Queue interfaces (e.g., ShouldQueue, Dispatchable).illuminate/events).Queue facade or bus integration).queue:work CLI integration).Illuminate\Queue)?
BarbeQ as a singleton/bound service.Events facade to dispatch barbeq.* events.HandleJobs to integrate BarbeQ::eat().Illuminate\Queue may suffice.BarbeQ alongside Laravel’s queues for a non-critical feature.Predis).Event system.ShouldQueue, Dispatchable, or queue:work.BarbeQ facade to mimic Laravel’s queue methods.BarbeQ for cross-MQ scenarios, Laravel queues for internal jobs.ano/barbeq).config/barbeq.php.dispatch() with BarbeQ::cook() in jobs/commands.use BarbeQ\Facades\BarbeQ;
BarbeQ::cook('email.queue', new Message([
'user_id' => 1,
'template' => 'welcome',
]));
BarbeQ::eat().// app/Console/Commands/ProcessBarbeQ.php
public function handle() {
$barbeQ = app(BarbeQ::class);
$barbeQ->eat('email.queue', 10); // Process 10 messages
}
barbeq.* events for observability.BarbeQ::eat() processes (like Laravel workers).Message::getMemory() for leaks.eat() to fetch messages in bulk.| Failure Scenario | Impact | Mitigation |
|---|---|---|
| MQ Broker Down (RabbitMQ/SQS) | Messages lost if not persisted. | Use PDO adapter as fallback. |
| Consumer Crashes | Unprocessed messages pile up. | Implement persistent consumers with eat() retries. |
| Serialization Errors | Corrupted messages. | Validate Message payloads via events. |
| Adapter Bugs | Undefined behavior. | Feature flags to toggle adapters. |
| Laravel Cache/Event Issues | Event listeners fail silently. | Dead-letter queue for failed events. |
barbeq.* events.How can I help you explore Laravel packages today?