귀하는 로그인되어 있지 않습니다. 이대로 편집하면 귀하의 IP 주소가 편집 기록에 남게 됩니다.스팸 방지 검사입니다. 이것을 입력하지 마세요!== 비동기 작업 실행 == 라이믹스는 메일 발송, 푸시 알림처럼 시간이 오래 걸리거나 외부 서비스와 연동하는 작업을 비동기로 처리하여 응답 속도를 개선하는 기능을 제공한다. 관리자 화면의 <code>비동기 작업</code> 항목에서 설정한다. :※ 관리자 화면은 이 기능을 '''실험적인 기능'''으로 안내하고 있다. 호스팅 환경에 따라서는 안정적으로 작동하지 않을 수도 있다. '''이 기능을 켜기만 해서는 동작하지 않는다.''' 외부 스케줄러가 일정한 주기로 처리 스크립트를 호출해 주어야 한다. === 관리자 설정 항목 === {| class="wikitable" ! 항목 !! 설명 |- | 비동기 작업 사용 || 체크를 해제하면 더 이상 작업을 접수하지 않는다 |- | 비동기 드라이버 || 작업을 관리할 방법. Redis 등 일부 드라이버는 서버에 해당 기능이 설치되어 있어야 한다 |- | 호출 간격 || 스크립트를 호출할 주기(분). 모든 작업은 호출 간격과 무관하게 실시간으로 처리되지만, 간격이 짧으면 장애 발생 시 빠르게 복구된다 |- | 프로세스 갯수 || 여러 프로세스를 동시에 실행해 처리 용량을 늘린다. 고성능 단독 서버가 아니라면 1을 유지하는 것이 권장된다 |- | 웹크론 오류 표시 || 에러 로그를 확인하기 어려운 환경에서 웹크론 오류를 화면에 표시한다 |} === crontab으로 실행 === 처리 스크립트는 <code>common/scripts/cron.php</code>이며, CLI에서는 <code>common.cron</code>이라는 이름으로 호출한다. <syntaxhighlight lang="text"> * * * * * php /설치경로/index.php common.cron </syntaxhighlight> 호출 간격을 1분으로 설정했다면 위와 같이 매분 실행한다. 스크립트는 설정한 호출 간격만큼 실행된 뒤 스스로 종료되므로, 앞선 실행이 끝나기 전에 다음 실행이 겹치지 않는다. === systemd timer로 실행 === crontab 대신 systemd timer를 사용해도 된다. 관리자 화면의 안내도 crontab, systemd timer, 웹크론을 나란히 제시하고 있다. === 웹크론으로 실행 === SSH를 쓸 수 없는 웹호스팅 환경에서는 외부 웹크론 서비스로 URL을 호출하는 방법을 쓸 수 있다. 정리 스크립트와 달리 이 스크립트는 네트워크를 통한 직접 호출을 지원한다. <syntaxhighlight lang="text"> https://사이트주소/common/scripts/cron.php?key=발급된키 </syntaxhighlight> <code>key</code> 값은 관리자 화면의 비동기 작업 설정에서 확인할 수 있다. 키가 맞지 않으면 <code>403 Forbidden</code>과 함께 <code>Invalid key</code>가 반환된다. 정상적으로 처리되면 <code>OK</code>가 출력된다. 웹크론을 쓸 때는 다음을 유의해야 한다. * '''호출 간격이 php.ini의 실행 시간 제한(<code>max_execution_time</code>)을 넘지 않도록''' 해야 한다. 서버의 현재 값은 관리자 화면에 표시된다. * '''웹크론으로 호출한 경우에는 멀티프로세싱을 지원하지 않는다.''' 프로세스 갯수를 2 이상으로 설정해도 하나만 실행된다. 편집 요약 가온 위키에서의 모든 기여는 크리에이티브 커먼즈 저작자표시-동일조건변경허락 라이선스로 배포된다는 점을 유의해 주세요(자세한 내용에 대해서는 가온 위키:저작권 문서를 읽어주세요). 만약 여기에 동의하지 않는다면 문서를 저장하지 말아 주세요. 또한, 직접 작성했거나 퍼블릭 도메인과 같은 자유 문서에서 가져왔다는 것을 보증해야 합니다. 저작권이 있는 내용을 허가 없이 저장하지 마세요! 취소 편집 도움말 (새 창에서 열림)