bluecloud/sms-queue

v1.0.3 2021-03-13 02:00 UTC

This package is auto-updated.

Last update: 2024-04-15 15:13:29 UTC


README

Queue messages from your Laravel app to your SMS API.

DISCLAIMER This package does not handle the actual sending of the messages to the recepient. You will need an SMS solution for that. This will however ease the task of scheduling and queueing an SMS from anywhere in your code

Quick Guide

Install the package via composer

composer require bluecloud/sms-queue

Publish package service provider

php artisan vendor:publish --provider=Bluecloud\SmsQueue\SmsQueueServiceProvider

Run the migrations to create sms queue table

php artisan migrate

Queueing messages

use Bluecloud\SmsQueue\Models\Message;

Message::queue('0888800800', 'Test message');
Message::queue('0888800800', 'Test message', '2021-03-13 09:30:00');

Sending messages

php artisan sms:send

To limit the number of messages to send per batch set the env variable SMS_QUEUE_DELIVERIES_PER_BATCH.

To set a one-time limit use php artisan sms:send --limit=10

You can schedule the messages to be sent at an interval with Laravel Scheduler

// app/Console/Kernel.php

use Illuminate\Console\Scheduling\Schedule;

use Illuminate\Foundation\Console\Kernel as ConsoleKernel;

class Kernel extends ConsoleKernel
{
    protected function schedule(Schedule $schedule)
    {
        $schedule->command('sms:send')->everyMinute()->runInBackground();
    }
}

Configuration

To set your config, create the following entries in your env file and replace the default values as desired

SMS_QUEUE_DELIVERIES_PER_BATCH=100

SMS_QUEUE_MESSENGER_URL=http://localhost