Skip to content

queues failover

alizeinodin edited this page Sep 11, 2026 · 2 revisions

Queues & failover

Queues

Sms::queue('otp')->sendTemplate('0912...', 'otp-login', ['CODE' => '1']);
Sms::onQueue('sms-otp')->send(...);
Sms::later(now()->addMinutes(5))->send(...);

Sms::template('otp-login')->to($user)->queue('otp')->send(['CODE' => '1']);
Sms::template('otp-login')->to($user)->sync()->send(['CODE' => '1']);
SMSAPI_QUEUE_OTP=sms-otp
SMSAPI_QUEUE_OTP_TRIES=5
php artisan queue:work --queue=sms-otp,sms,default

Failover

SMSAPI_DRIVER=failover
SMSAPI_FAILOVER_DRIVERS=smsir,kavenegar
Sms::failover(['smsir', 'kavenegar'])->send(...);

On total failure throws FailoverException with per-driver attempts.

Resilience

php artisan smsapi:install resilience
  • Circuit breaker per driver
  • Rate limits: global / driver / channel / recipient

Clone this wiki locally