Использование AWS SQS и Lambda для задания очереди в Laravel - PullRequest
1 голос
/ 08 мая 2020

Интересно, есть ли способ использовать только лямбда-функцию, когда я отправлял задание в laravel.

То, что я использую, показано ниже.

  • Laravel 5.8 (PHP 7.2)
  • AWS SQS
  • Supervisord

В Laravel, я отправляю задание с подключением SQS, и задание находится в Laravel проект. Я искал, как использовать SQS в качестве триггера для лямбда-функции. И я нашел этот документ. ( Использование AWS Lambda с Amazon SQS ) Если я буду следовать этому документу, я думаю, что смогу запустить задание в лямбде. Но в проекте Laravel задание будет запущено снова. Я хочу использовать только лямбду в качестве работы.

Как я могу запускать только лямбда-функцию в качестве задания?

1 Ответ

0 голосов
/ 09 мая 2020

Нет, это невозможно. Sqs, database или redis предназначены только для хранения сериализованной (закодированной et c) версии ваших laravel заданий. Вот самое близкое, что вы можете получить;

  • Забудьте о драйвере очереди sqs.
  • Реализуйте свою работу в aws lambda.
  • Разрешите lambda использовать ваши sqs (политики, триггеры и т. д. c перечислены в документации)
  • Сделайте запрос из вашего laravel приложения через aws php sdk или http request (guzzle, curl) на свои sqs и позвольте лямбда для использования ваших sqs.
  • Вы можете использовать некоторый драйвер asyn c для запуска асинхронных запросов sqs.
  • Если вы хотите использовать очередь задержки sqs, Максимум 15 минут - здесь для делать c
...