【问题标题】:Using AWS SQS and Lambda for queue job in Laravel在 Laravel 中使用 AWS SQS 和 Lambda 进行队列作业
【发布时间】:2021-03-13 05:05:20
【问题描述】:

我在 laravel 中调度作业时,想知道是否有办法只使用 lambda 函数。

我使用的是下面。

  • Laravel 5.8(PHP 7.2)
  • AWS SQS
  • 主管

在 Laravel 中,我通过 SQS 连接分派了一个工作,工作在 Laravel 项目中。 我搜索了如何使用 SQS 作为 lambda 函数的触发器。我找到了这份文件。 (Using AWS Lambda with Amazon SQS ) 如果我遵循这个文档,我想我可以在 lambda 中运行工作。但在 Laravel 项目中,作业将再次运行。我只想使用 lambda 作为工作。

我如何才能只运行 lambda 函数作为作业?

【问题讨论】:

    标签: amazon-web-services aws-lambda amazon-sqs


    【解决方案1】:

    不,这是不可能的。 Sqsdatabaseredis 仅用于保留 laravel 作业的序列化(编码等)版本。这是您可能得到的最接近的位置;

    • 忘记 sqs 队列驱动程序。
    • 在 aws lambda 中实施您的工作。
    • 允许 lambda 使用您的 sqs(文档中列出的策略、触发器等)
    • 通过 aws php sdkhttp request(guzzle, curl) 从您的 laravel 应用向您的 sqs 发出请求,并让 lambda 使用您的 sqs。
    • 您可以使用一些异步驱动程序来异步触发您的 sqs 请求。
    • 如果你想使用 sqs 延迟队列,最长为 15 分钟 - 这里是 doc

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2022-01-05
      • 1970-01-01
      • 2018-09-24
      • 2018-08-16
      • 2016-04-13
      • 2023-04-02
      • 2021-12-18
      相关资源
      最近更新 更多