본문 바로가기

프로그래밍 언어(must-have skills)/PHP

라라벨 큐 체험기

업무에서 큐를 이용해야 할 것 같아서 실제로 안써본 라라벨 큐를 써보려고 한다.

 

라라벨은 큐라는 것을 쉽게 이용할 수 있다. 

왜 쓰냐면 무거운 작업들을 백그라운드에서 작업시켜 버릴 수가 있기 때문이다. 엄청 무건운 건 아니지만 메일 전송같은 것들이 그러하다 .

당연히 큐라는 이름 특성상 중간의 한 번 거쳐가는 대기열로 써도 된다. 

 

php artisan queue:work

 

드라이버 - db(jobs테이블), redis , beanstalkd, aws sqs를 기본으로 지원한다. 

 

본인은 간단하게 db(mysql)로 작업했다.  mac으로는 mysql을 첨 설치했는데, 간단했다.

 

mysql8부터는 php7.4를 쓰는 것이 비밀번호 암호화설정 에러가 나지 않는다. (물론 본인은 7.2를 써가지고 에러가 나서 조금 시간이 걸렸다. ) 

 

구조는 job을 dispatch하면 그 job이 해당 큐드라이버로 이동하게 되고, 이러한 잡들은 큐드라이버에서 소모된다. 이 큐를 실제로 소모하려면 php artisan queue:work를  실행하면 된다. (당연히 별도의 php프로세스가 실행된다. )

따라서 이 명령어를 2번 치면 대기열의 처리량이 2배가 된다. 하지만 서버의 메모리를 잘 고려해서 진행해야 한다. 

 

성공

참고

1. 라라벨 공식doc

2. https://www.youtube.com/watch?v=m-hNL87-lFo&list=PLcjapmjyX17hJZ-shzRMxTus0aMw0EVVB&index=9&t=25s 

'프로그래밍 언어(must-have skills) > PHP' 카테고리의 다른 글

generator와 lazyCollection  (2) 2023.10.21
php 벤치마크 사이트 추천 -The PHP Benchmark  (0) 2023.06.01
__call method  (0) 2023.04.29
[라라벨] laravel-debugbar  (0) 2023.03.07
[문법]PHP foreach 사용법  (0) 2023.02.11