"라라벨 큐 이야기"의 두 판 사이의 차이

18번째 줄: 18번째 줄:
|}
|}
* dispatch는 웹상에서 또는 커맨드로 가능
* dispatch는 웹상에서 또는 커맨드로 가능
* work는 worker가 상시적으로 처리함
:worker 기동명령어: [[artisan queue:work]]
* 실패한 job을 [[failed_jobs 테이블]]에 보존할 수 있음
* 실패한 job을 [[failed_jobs 테이블]]에 보존할 수 있음
* job 실패시 재시도하도록 할 수 있음 ( 기본값은 0=재시도 안함 )
* job 실패시 재시도하도록 할 수 있음. 기본값=0(회) = 재시도 안함
* 타임아웃 시간을 지정할 수 있음. 기본값=60(초)


==같이 보기==
==같이 보기==

2018년 2월 5일 (월) 16:23 판

1 개요

Laravel queues
라라벨 큐
  • 큐 시스템을 위한 통일된 API를 제공함
  • 백엔드로 RDB(예: MariaDB), Beanstalk, Amazone SQS, Redis 등 사용가능
config/queue.php의 connections에 설정[1]
  • 작업들을 큐에 넣고(예약), 순차 시작되도록 하는 용도
작업의 예시: 대량 이메일 발송, 대용량 파일(예: 동영상 파일) 다운로드/업로드/변환
  • 스케줄러는 아님. 수행시작시각 지정은 불가능[2]
언제 시작될지 모르지만 FIFO (단, 우선순위, 지연시간 지정가능)

2 과정

  • 과정을 간단하게 얘기하자면... 작업을 큐에 넣기(dispatch)와 처리하기(work) 2가지 단계 뿐이다.
dispatch(배치) 작업을 큐에 배치함
work(처리) worker가 큐에 있는 작업을 꺼내어 처리함
  • dispatch는 웹상에서 또는 커맨드로 가능
  • work는 worker가 상시적으로 처리함
worker 기동명령어: artisan queue:work
  • 실패한 job을 failed_jobs 테이블에 보존할 수 있음
  • job 실패시 재시도하도록 할 수 있음. 기본값=0(회) = 재시도 안함
  • 타임아웃 시간을 지정할 수 있음. 기본값=60(초)

3 같이 보기

4 참고

(영어) https://laravel.com/docs/5.5/queues
  1. 1개 이상의 큐를 가질 수 있음. 특별히 명시하지 않으면 기본 큐 1개를 사용함
  2. 직접 구현하거나 외부스케줄러를 사용하면 가능하겠지만, 기본적으로는 불가.
문서 댓글 ({{ doc_comments.length }})
{{ comment.name }} {{ comment.created | snstime }}