가격에선 최고
디버깅 빢심
worker cron 사용문제점
1. 초단위 불가
cron command에서 일반적으로 * * * * * 이렇게
* 별 5개를 사용하고, 첫 별 부터 끝 별까지 분,시,일,월,년 단위를 표현하곤하는데
리눅스계열에선 별을 6개까지 늘려서 초 단위로 쪼갤 수도 있다.
하지만 worker에선 불가함.
2. cpu 최대 시간 제한.......
1일마다 실행되며, 그 시간은 언제 끝나든 상관없게 짜고 싶지만
worker에서는 기본적으로 50ms만큼 실행되고,
최대로 늘리고 싶어도 30000ms(30초)만큼만 실행이 가능함.
더 이상 실행하게 되면
내부에서 exception이 발생하며, 아래와 같은 멘트가 뜬다.
{
\"message\":\"Error: Too many subrequests.\",
\"details\":\"Error: Too many subrequests.\\n at index.js:5378:23\\n at index.js:5399:12\\n at Generator.next (<anonymous>)\\n at fulfilled (index.js:5351:24)\",
\"hint\":\"\",\"code\":\"\"
}"
3. 매우 정확하게 실행이 안됨.
cron의 경우 cold start 400ms정도가 소요되며
매 분 마다 실행시켜도, 로컬에서 테스트 하면
1분 0초 10ms, 2분 0초 20ms.. 이런식으로 오차가 적게 실행되는반면
worker는 rest api 방식으로 호출되서 그런지
1분이 다 흐르기 막바지에 간신히 실행되는 느낌이다.
그래서 실행되는 시간이 1분 49초, 1분 52초 이런식으로 실행된다.
=> 결제하면 콜드스타트가 거의 없어짐...
4. SubRequest한계
1번의 cron 안에서 http 호출 한도가 있음.
한도 (50회)를 초과할 경우. 'too many requests'라는 메세지가 뜨면서 cron이 종료됨.
에러 메세지
{
"name": "Error",
"message": "Too many subrequests.",
"timestamp": 1701107340313
}
=> 결제하면 subrequests 50개에서 1000개로 늘려줌...
'스터디 > Etc' 카테고리의 다른 글
[Tailwindcss] 커스텀 컬러 custom-color (1) | 2023.12.21 |
---|---|
[StatCounter] 전세계 화면 해상도 통계 및 개발시 사이즈 참고. (1) | 2023.12.02 |
[Tailwindcss] iOS Blur freezing 현상 (bug) (1) | 2023.11.24 |
웹 개발 화면 사이즈 (Chrome Emulate/Simulate Custom Device Size) (1) | 2023.11.14 |
[Nodejs] 웹 개발 초보자가 알아야할 필수 정보들 (1) | 2023.11.09 |
댓글