Дросселируйте очередь ларавеллы ключом

У меня есть приложение laravel, которое вызывает внешние URL-адреса с помощью очереди. Я хотел бы регулировать исходящие вызовы в очереди с помощью ключа, такого как имя хоста URL.

Я знаю, что могу перебегать через очередь, если использую redis, но не думаю, что смогу разбить газ по ключу.

Варианты, которые я могу предвидеть:

  1. Программно создать новую очередь для каждого имени хоста
    • Кажется неэффективным
  2. Отрегулируйте всю очередь до скорости, применяемой к наиболее ограниченному имени хоста
    • Кажется очень неэффективным
  3. Используйте таблицу БД, состоящую из time, hostname а также hits столбцы с составным ключом time + hostname и увеличить его, используя UPSERT заявление (т.е. INSERT OR UPDATE)
    • может быть мой лучший вариант

Кто-нибудь может поделиться опытом или лучшей практикой в ​​этом?

0 ответов

Другие вопросы по тегам