Дросселируйте очередь ларавеллы ключом
У меня есть приложение laravel, которое вызывает внешние URL-адреса с помощью очереди. Я хотел бы регулировать исходящие вызовы в очереди с помощью ключа, такого как имя хоста URL.
Я знаю, что могу перебегать через очередь, если использую redis, но не думаю, что смогу разбить газ по ключу.
Варианты, которые я могу предвидеть:
- Программно создать новую очередь для каждого имени хоста
- Кажется неэффективным
- Отрегулируйте всю очередь до скорости, применяемой к наиболее ограниченному имени хоста
- Кажется очень неэффективным
- Используйте таблицу БД, состоящую из
time
,hostname
а такжеhits
столбцы с составным ключомtime + hostname
и увеличить его, используяUPSERT
заявление (т.е.INSERT OR UPDATE
)- может быть мой лучший вариант
Кто-нибудь может поделиться опытом или лучшей практикой в этом?