CMS/프레임워크 | Rhymix 2.1 |
---|---|
개발 언어 | PHP 7.4 |
안녕하세요!
라이믹스 설정에 비동기 작업이 있는데, 이 비동기 기능은 메일이나 쪽지 발송을 위해서만 사용할 수 있는지요?
저는 다른 목적, TTS를 백그라운드에서 작업되도록 하기 위해 비동기 기능을 켰는데, 이메일 발송에 이상이 생겨서 다시 껐습니다.
이런 경우에
- 비동기 기능은 메일/쪽지 백그라운드 발송을 위한 기능이기 때문에, 오프로 하고 TTS를 위한 비동기 개발이 필요한가요?
- 만약 비동기 기능을 사용으로 하고 활용할 수 있다면, 이메일 발송은 영향을 받지않도록 설정은 어떤 식으로 접근하면 될까요!
- 비동기 기능과 관련하여 메뉴얼(https://rhymix.org/manual/reference/framework/Queue) 외에 참고하면 좋을 만한 코드나 설명이 있을까요!
조언을 부탁드려요!
스코스코
Lv. 5
댓글 4
지금 할 일을 나중에 하도록 예약해 두는 방식인데, 예약된 작업을 그때그때 처리하는 백그라운드 프로그램이 상시 실행되지 않는다면 그냥 아무 일도 안 하고 마는 결과가 됩니다. 비동기 작업 설정 화면에 크론탭 설정 등 복잡한 안내가 붙어 있는 이유가 이것입니다. 이 부분을 충실히 따르고 정상 작동하는지 테스트하지 않는다면, 메일 발송뿐 아니라 어떤 일도 일어나지 않습니다.
메일이나 문자 발송이 가장 먼저 비동기 작업으로 처리되는 이유는 가장 흔하고 테스트하기 쉬운 작업이기 때문입니다. 비동기 작업을 켠 상태에서 메일이 정상적으로 발송되는 서버 환경을 만들어 놓는 것이 우선입니다. 일단 비동기가 돌아간다면 어떤 작업이라도 예약할 수 있으니까요. 그러나 기본도 안 돌아가는 상태에서 다른 작업을 시도하는 것은 무의미하겠죠.
답변 감사합니다. 말씀하신 부분을 이해해보자면, 비동기 작업 기능은 메일이나 문자 발송에 국한된 것이 아니라 어떤 작업이라도 사용가능하지만 비동기 작업을 켰을때 메일 발송에 문제가 생겼다면 서버 세팅부터 교정해야한다는 뜻인 것 같아요. 혹시, 비동기 기능을 켰을때 고급메일발송 모듈로 메일이 발송되는 것은 코드 수정이 필요없고 서버 설정만 바로 하면 되는 것일까요?
크론탭을 사용한다고 가정했을때 이 아래 내용만 적용하면 되는 걸까요?
www-data
계정으로 서버에 로그인하여crontab -e
명령을 실행한 후, 아래의 내용을 붙여넣으십시오. (root 권한으로 실행하지 마십시오!)만약
apache
나www-data
처럼 로그인할 수 없는 계정이라면, 다른 계정에서sudo crontab -e -u www-data
명령을 실행해 볼 수 있습니다.예제의
/var/www/logs
디렉토리는 로그를 기록할 권한이 있는 경로로 변경하여 사용하십시오.스크립트 호출 간격을 변경할 경우, 설정에 맞추어 crontab 실행 간격도 조절하여야 합니다.
네, 켜서 정상 작동한다면 어떤 작업이라도 예약할 수 있습니다.
고급 메일 발송 모듈로 메일이 발송된다는 표현에는 혼란이 있는 것 같고요, 라이믹스에서는 시스템 설정 → 알림 설정 화면에서 선택한 방법대로 메일이 발송되지요. "메일, SMS 및 푸시 알림 관리" 모듈은 로그 기록 역할만 하고요.
원칙적으로 그 화면에 나오는 대로 하면 되지만, 서버 세팅에 따라 차이가 있을 수 있습니다. 예를 들어 크론탭으로 실행한 PHP 버전이 웹에서 사용하는 것과 다른 경우가 상당히 많습니다. www-data 계정 권한으로 명령을 실행하는 데 제약이 있거나, 로그 폴더의 경로나 권한이 다를 수도 있고요. 특히 로그가 정상 기록되지 않는다면 뭔가 되는 것 같더라도 안심해서는 안 됩니다. 백그라운드 작업에서 오류가 날 경우 확인할 방법은 로그 뿐이니까요.
정말 감사합니다!!