为了账号安全,请及时绑定邮箱和手机立即绑定

Laravel 和多队列 (AWS SQS)

Laravel 和多队列 (AWS SQS)

PHP
慕村9548890 2021-07-14 18:01:20
我一直坚持使用onQueue('queuename').SQS 上的队列名称具有不同项目的前缀。似乎对 SQS 的每个队列名称进行硬编码并不是最好的方法。我认为queue.php配置文件中应该有类似别名映射的东西。是否有已知的做法可以正确处理?
查看完整描述

1 回答

?
胡说叔叔

TA贡献1804条经验 获得超8个赞

根据我的经验,将队列名称定义为环境名称和项目队列名称的组合非常有用


使用 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您定义连接和默认队列中,但没有映射别名,老实说,这将非常有用,但据我所知,目前还没有类似的东西


查看完整回答
反对 回复 2021-07-16
  • 1 回答
  • 0 关注
  • 200 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信