우리는 노드에서 API로부터 30 일 분량의 정보를 작성하는 람다 함수를 만들려고 시도하고 있지만, 정보량 때문에 한 번에 1 일만 할 수 있습니다. 현재이 작업을 수행하려는 현재 시도는 람다 자체에서 직접 람다의 새 인스턴스를 반복 실행하고 HOW_MANY_DAYS_AGO> 0이 될 때마다 날짜에서 1 일을 뺀 함수를 포함합니다. 정보를 RDS에 업로드합니다 결과를 계산하는 SQL 문을 실행 한 다음 결과를 웹 페이지에 게시하십시오. 우리가 10 일 또는 그 이하 동안 람다를 돌리면, 그것은 완벽하게 잘 작동합니다. 우리가 30 일 동안 실행을 시도 할 때마다 우리는 11 일 또는 12 일경이 오류가 발생하기 시작합니다. 우리는 일을 너무 빨리 끝내고 있다고 가정했기 때문에 코드 전체에서 다른 지점에서 지연을 설정하려고했습니다.60 초 트리거 대 60 초 지연 aws-lambda/RDS 오류 메시지?
18:27:53
2017-05-09T18:27:53.505Z e720be2f-34e4-11e7-90ca-3f2ffa915b81 { StatusCode:
200, FunctionError: 'Unhandled', Payload: '{"errorMessage":"RequestId:
3243f8d3-34e5-11e7-b0a2-df429a0d6565 Process exited before completing
request"}' }
2017-05-09T18:27:53.505Z e720be2f-34e4-11e7-90ca-3f2ffa915b81 { StatusCode:
200,
FunctionError: 'Unhandled',
Payload: '{"errorMessage":"RequestId: 3243f8d3-34e5-11e7-b0a2-df429a0d6565
Process exited before completing request"}' }
우리는 데이터 변수는 11 또는 정보 12 일에 도달 할 경우에도 발생하는 정의되지 않은 말한다 API에서 정보를 철수 곳 우리는 또한 때때로 지역에 CloudWatch에서의 람다 오류 메시지가
아직 10 세 미만인 경우에도 작동합니다. 이로 인해 우리가 사용하는 API가 과부하 상태라고 생각하게되었습니다.
위의 오류 페이로드는 event.variable에서 람다에 전달하는 것입니다. 30 일 동안 정보를 실행하려고 할 때마다 약 11-12 일에이 오류가 발생합니다. 이 오류 메시지는 RDS 데이터베이스에 연결되면 바로 발생합니다. 나는 기본적으로이 재료의 대부분을 가진 초보자이므로이 "처리되지 않은 페이로드"가 람다 또는 rds와 관련되어 있는지 확신 할 수 없지만 RDS와 관련되어 있다고 생각하는 경향이 있습니다. 전에이 오류를 본 적이없고 그것을 조사 할 때 꽤 넓은 오류 인 것 같습니다.
RDS 인 경우이 오류의 원인이 될 수 있으며이를 해결하려면 어떻게해야합니까? 데이터베이스가 너무 약해서로드를 처리 할 수 없습니까? 미친 것은, 심지어 다음 람다 호출 사이에 60 초 지연을 설정하더라도 여전히이 오류가 발생합니다. 그러나 콘솔에서 60 초 트리거로 람다를 설정하고 30 분 후에 수동으로 켰다 껐다면 완벽하게 실행됩니다. 나는 내 코드에서 60 초 지연을 설정하여 람다의 새로운 인스턴스를 호출하고 콘솔을 통해 60 초 트리거를 설정한다. 둘 다 60 초마다 람다의 새로운 인스턴스를 실행하면된다. . 왜 하나가 완벽하게 작동하고 다른 하나는 위의 오류 메시지를 표시합니까? 유일한 차이점은 내 코드를 통해 60 초마다 호출되고 다른 하나는 AWS 람다 콘솔을 통해 60 초마다 호출된다는 것입니다.
목표는 폼 중 하나에서 람다로 정보를 전달하는 API 게이트웨이의 http 끝점을 통해 웹 페이지 양식을 제출할 때 람다가 트리거되도록하는 것입니다. api-gateway에서 트리거가 작동하고 람다가 작동하기 때문에 엔드 포인트에서 60 초 트리거를 사용하도록 설정하고 1800 초 또는 30 분 후에 해제하면 100 % 사실을 알 수 있습니다. 완벽하게 작동합니다. 하지만 그것은 내가 람다를 호출하는 방법이 본질적으로 똑같은 일을 할 때 작동하지 않는 이유와 그 오류 메시지의 원인을 찾을 수 없다는 것을 이해할 수 없다는 것을 저를 괴롭혔습니다.