[Active Job] shoryuken+Amazon SQS로 이동해 보세요.
※ Rails 응용 프로그램은 Docker 환경에서 구축이 완료되는 전제 조건입니다.환경 건설여기.
※ Active Job과 백엔드의 비교는 여기 입니다.
환경
1. SQL 설정
먼저 AWS 콘솔에 로그인하여 화면에서 SQL을 설정합니다.
아마존 단순 대기열 서비스는 완전히 관리된 메시지 대기열 서비스다.
화면과 설정 등은 2020/11시 물건이다.
대기열을 생성합니다.
여기에서 SQL에 대한 세부 설정은 생략되지만 요구 사항에 따라 다양한 설정이 가능합니다.
대기열의 이름만 지정하고 기본값으로 설정합니다.
SQS 측의 설정은 여기서 끝납니다.
이후 로컬 환경에서 액세스할 수 있는 액세스 키가 IAM에 릴리즈되었습니다.
2. shoryuken 설정
우선 젬을 넣습니다.
Gemfile
gem 'aws-sdk-sqs'
gem 'shoryuken'
bundle install
를 실행하고 shoryuken의 프로필을 추가합니다.AWS와의 연결 정보로 발행된 액세스 키 등을 환경 변수로 설정하여 사용합니다.
열쇠 관리credentials도 괜찮을 것 같은데.(제품의 방침에 따라)
config/shoryuken.yml
aws:
access_key_id: <%= ENV['AWS_ACCESS_KEY_ID'] %>
secret_access_key: <%= ENV['AWS_SECRET_ACCESS_KEY'] %>
region: <%= ENV["AWS_REGION"] %>
concurrency: 1
logfile: ./log/shoryuken.log
queues:
- development_default
3. 활성 작업 설정
활동 작업에서 비동기 처리를 실시하다.
config/application.rb
require "active_job/railtie"
module App
class Application < Rails::Application
...
config.active_job.queue_adapter = :shoryuken
...
end
end
4. 작업의 제작과 동작 확인
나는 마침내 숙제를 만들려고 한다.
rails g job shoryuken_sample
app/jobs/shoryuken_sample_job.rbclass ShoryukenSampleJob < ApplicationJob
queue_as :default
def perform
puts '--------------------------------'
puts '----------- 昇龍拳 ------------'
puts '--------------------------------'
end
end
다음은 동작 확인을 진행하겠습니다.$ bundle exec shoryuken -C config/shoryuken.yml
(↑ 내 환경에서, 특히 명령을 집행한 후에는 아무것도 나타나지 않았지만 설레자마자 움직였다.)다른 탭의 터미널에서 레일스 콘솔에서
ShoryukenSampleJob
을 정렬하려고 합니다.$ rails c
Loading development environment (Rails 6.0.3.4)
> ShoryukenSampleJob.set(wait: 5.second).perform_later
Enqueued ShoryukenSampleJob (Job ID: ad754d56-8f50-4864-8b24-69479ef5c7f7) to Shoryuken(development_default) at 2020-11-25 11:32:39 UTC
=> #<ShoryukenSampleJob:0x000055821986c0b8
@arguments=[],
@exception_executions={},
@executions=0,
@job_id="ad754d56-8f50-4864-8b24-69479ef5c7f7",
@priority=nil,
@queue_name="development_default",
@scheduled_at=1606303959.7208154>
줄을 서서 작업이 방금 시작한 shoryuken 측에서 실행되었는지 확인하십시오.--------------------------------
----------- 昇龍拳 ------------
--------------------------------
Reference
이 문제에 관하여([Active Job] shoryuken+Amazon SQS로 이동해 보세요.), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://qiita.com/shima-zu/items/6da8f147f3b9cb6423e7텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)