В смысле в 1 очереди?
Есть задача, сделать какую-то операцию для пользователя, которая требует дёрнуть API. API аутентифицируется через oauth токен пользователя, т.е. лимиты идут per user, а не на всё твоё приложение.
Ну и соответственно, запустил там по крону задачу которая колупашит юзеров, чекает их лимиты и ставит или не ставит задачу
у меня запросы приходят от пользователей, мы не можем их не обработать. Поэтому они ложатся все очередь.
У очереди есть 100 воркеров, которые разбирают эти задачи и стараются выполнить. Лимиты сохраняются глобально в редисе, на случай если кто-то захочет сделать запрос из контроллера еще.
Но как только параллельные потоки привышают литим запросов внешнего API, оно кидает header retryAfter и мы можем сделать release задачу на это время. А в это время у нас могут выполнится задачи для других API например, или других пользователей