Laravel и несколько очередей (AWS SQS)

Я застрял при отправке заданий в несколько очередей SQS с помощью onQueue('queuename').

Имена очередей в SQS имеют префиксы для разных проектов. Кажется, что жесткое кодирование каждого имени очереди SQS — не лучший способ сделать это. Я думаю, что должно быть что-то вроде карты псевдонимов в queue.php файле конфигурации.

Есть ли известная практика, чтобы справиться с этим должным образом?

Улучшено форматирование вопроса для лучшей читабельности

cabrerahector 29.05.2019 17:55
Стоит ли изучать PHP в 2023-2024 годах?
Стоит ли изучать PHP в 2023-2024 годах?
Привет всем, сегодня я хочу высказать свои соображения по поводу вопроса, который я уже много раз получал в своем сообществе: "Стоит ли изучать PHP в...
Symfony Station Communiqué - 7 июля 2023 г
Symfony Station Communiqué - 7 июля 2023 г
Это коммюнике первоначально появилось на Symfony Station .
Оживление вашего приложения Laravel: Понимание режима обслуживания
Оживление вашего приложения Laravel: Понимание режима обслуживания
Здравствуйте, разработчики! В сегодняшней статье мы рассмотрим важный аспект управления приложениями, который часто упускается из виду в суете...
Установка и настройка Nginx и PHP на Ubuntu-сервере
Установка и настройка Nginx и PHP на Ubuntu-сервере
В этот раз я сделаю руководство по установке и настройке nginx и php на Ubuntu OS.
Коллекции в Laravel более простым способом
Коллекции в Laravel более простым способом
Привет, читатели, сегодня мы узнаем о коллекциях. В Laravel коллекции - это способ манипулировать массивами и играть с массивами данных. Благодаря...
Как установить PHP на Mac
Как установить PHP на Mac
PHP - это популярный язык программирования, который используется для разработки веб-приложений. Если вы используете Mac и хотите разрабатывать...
1
1
601
1
Перейти к ответу Данный вопрос помечен как решенный

Ответы 1

Ответ принят как подходящий

По моему опыту, ОЧЕНЬ полезно определить имя очереди как комбинацию Имя среды и Имя очереди проекта.

Используя CloudFormation, я создаю очередь, например

QueueName:
  Type: AWS::SQS::Queue
  Properties:
    VisibilityTimeout: 120
    QueueName: !Join ['', [!Ref 'AWS::StackName', 'ProjectQueueName']]
    Tags:
      - Key: Stack
        Value: !Ref 'AWS::StackName'

Таким образом, всякий раз, когда вы хотите что-то добавить в очередь, вы просто делаете

MyJob::dispatch($payload)->onQueue(env('APP_ENV').'ProjectQueueName');

или, если вы хотите определить имя очереди и в файле .env,

MyJob::dispatch($payload)->onQueue(env('APP_ENV').env('ProjectQueueName'));

А если быть чуть более точным, то в queue.php вы определяете соединение и очередь по умолчанию, но не алиас карты, это было бы весьма полезно, если честно, но пока ничего подобного, насколько я знаю

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