2010-06-01 9 views
5

저는 Google App Engine 사용자가 아닙니다. 그러나 CPU 시간 및 기타 리소스에 대한 비용이 청구되는 것으로 알고 있습니다. 무한 루프를 만들면 어떤 결과가 발생합니까? Google이 해지할까요, 아니면 수동으로 어떻게해야할까요?Google App Engine에서 무한 루프가 발생합니까?

저는 취미 삼아 개발자가 수백의 비용이 드는 작은 오류에 대해 걱정하고 있습니다.

답변

7

은 (내가 구글 직원 합니다만 AppEngine에와 약간의 경험을 가지고이 "공식적인"응답 생각하지 마십시오..)

난 당신이 자바 서블릿 API를 사용하는 것 같은데요 -하지 않을 경우 , 명시 해주세요. AppEngine servlet docs 가입일

:

요청 핸들러는 제한된 양의 생성 전형적 요청 30 초 응답을 반환 할 시간 있다. 마감 기한 인 에 도달하면 요청 처리기 이 인터럽트됩니다.

"일반적인"Java에서 VM이 인터럽트를 허용하지 않는 타이트 루프에서 발생하는 방법/방법을 모르겠다.

+0

많은 정보를 보내 주셔서 감사합니다. – doppelgreener

+6

tight 루프는 'soft'데드 라인 오류가 발생하는 것을 막을 수 있지만 30 초 후에도 'hard'핸들러가 처리기를 종료합니다. 또한, 내 잔디에서 꼼짝 마라. 존. ;) –

+1

또한 java 또는 python 버전을 사용하고 있는지 여부는 중요하지 않습니다. 둘 다 30 초 후에자를거야. –

3

Jon이 무한 루프의 저급 사례를 처리하는 동안 핸들러 중 하나가 과도한 횟수로 반복적으로 호출되는 상황이 발생할 수 있습니다. 실수로 대신 전체 데이터 스토어를 백업하도록 무언가를 구성했을 수 있습니다. 하루에 한 번. 이론적으로 30 초짜리 덩어리로도 많은 리소스를 사용할 수 있습니다. 그러나 여전히 엄청난 양의 혐의를받을 위험이 없습니다. 하루에 지출 할 금액에 대한 한도를 설정할 수 있습니다. 할당량이 없다면 앱에서 오류를 반환하고 채무자의 감옥에 넣지 않습니다.

+0

할당량 설정 !? 와아, 그거 환상적이야! 너에게 인터넷과 +1! 내가 가장 걱정하고있는 것은 무한 루프이다. 왜냐하면 나는 실제로 그런 종류의 리소스 호깅을 생각한다고 말할 수는 없지만, 너무 일반적이기 때문에 무한 루프이다. 나는 그 점을 계속 지켜 볼 것이다. 감사합니다. – doppelgreener

+0

또한 테스트/테스트 만하는 경우 무료 할당량을 유지할 수 있습니다. 이 경우 결제 정보를 제공하지 않아도되므로 무한 루프에 대해 걱정할 필요가 없습니다. –

1

구글 AppEngine에는

이 종료되기 전에 요청을 수행해야하는 시간에 부과 된 roughly 30 second limit있다,이 종료되기 전에 요청이 걸릴 수 있습니다 기간에 제한을 적용합니다. 그러나 프로세스가 종료되기 직전에 DeadlineExceededError 예외가 발생합니다.

또한 응용 프로그램이 짧은 시간 내에 너무 많은 할당량을 사용하지 못하게하려면 per-minute quotas이 있습니다. 정상적인 조건에서 응용 프로그램이 분당 할당량을 초과 할 가능성은 거의 없지만 필요에 따라이 할당량을 늘리면 can be requested이됩니다.

관련 문제