Метод size
Метод size класса Queue применяется для определения количества заданий в указанной очереди. Метод возвращает целое число, представляющее общее количество ожидающих выполнения заданий. Первым параметром передаётся имя очереди, вторым (необязательным) - имя соединения с очередью.
Синтаксис
<?php
Queue::size($queueName, $connectionName);
?>
Пример
Давайте получим количество заданий в очереди 'emails':
<?php
use Illuminate\Support\Facades\Queue;
$count = Queue::size('emails');
echo "emails: " . $count;
?>
Результат выполнения кода:
"emails: 12"
Пример
Давайте получим количество заданий в очереди 'notifications' с использованием соединения 'redis':
<?php
use Illuminate\Support\Facades\Queue;
$count = Queue::connection('redis')->size('notifications');
echo "notifications: " . $count;
?>
Результат выполнения кода:
"notifications: 5"
Пример
Давайте используем метод size внутри класса задания для проверки количества уже существующих заданий:
<?php
namespace App\Jobs;
use Illuminate\Support\Facades\Queue;
class SendEmailJob implements ShouldQueue
{
public function handle()
{
$size = Queue::size('emails');
if ($size > 100) {
echo "Queue is too large: " . $size;
return;
}
echo "Queue size is normal: " . $size;
}
}
?>
Результат выполнения кода:
"Queue is too large: 150"