非同期JOBにSQSを使った

背景

  • AWS Fargate + Rails アプリケーション実行時に、動画変換の重いタスクを実行する必要が出てきた
  • Fargate のタスク実行のトリガーを実装するためにSQSとEventBridge Pipes を使って、タスク実行ができるようにした

AWS SQS

AWSが提供する「サーバーレスでキューイングを実現できる」サービス

AWS EventBridge Pipes

  • Producer/Consumer型のメッセージング処理を提供するAWSのサービスで、
  • SQSやDynamoDBなどの様々なサービスとLambda、ECS、API Gatewayなどの様々なサービスを結びつけることが可能

SQSを使った非同期JOB実行の仕組み

  1. Railsアプリケーションで動画変換のJOBをキューに登録
  2. SQSがメッセージを受信
  3. EventBridge PipesがSQSからメッセージを検知
  4. ECSタスクを起動して動画変換JOBを処理

感想

無事に重いタスクが実行できるようになりました

この記事をシェア

弊社では、一緒に会社を面白くしてくれる仲間を募集しています。
お気軽にお問い合わせください!