Дросселируйте очередь ларавеллы ключом - PullRequest
0 голосов
/ 09 ноября 2018

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

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

Опции, которые я могу предвидеть:

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

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

...