2012-04-20 6 views
0

나는 GAE의 트위터에서 메시지를 읽는 응용 프로그램을 작성하고 있습니다. 응용 프로그램은 항상 메시지를 읽고 응답해야합니다. 저는 현재 백엔드를 사용하고 싶지 않은 아이디어를 테스트하고 있기 때문에 그러한 요구에 대한 자연스러운 선택입니다. 나는 메시지를 계속 읽는 동안 최대 50 초 동안 실행하여 작업을 처리하는 매분 및 서블릿을 실행하는 cron 작업을 사용하고 있습니다.GAE에서 장기 실행 작업

  1. GAE는이 트래픽 만 처리하기 위해 최대 3 개의 인스턴스를 열어 놓았습니다.
  2. 백엔드는 이러한 작업에 적합한 도구입니다. 맞습니까?
  3. 백엔드 없이는 더 좋은 방법이 있을까요?

감사합니다.

답변

1

저는 GAE가이 트래픽 만 처리하기 위해 최대 3 개의 인스턴스를 열어 놓았습니다.

나는 3 개의 인스턴스 덕분에 크론이 잘 작동하기 때문에 좋지 않다고 생각하지 않습니다.

Cron 실행이 몇 초 지연 될 수 있으며 인스턴스를 회전시키는 데 몇 초가 더 걸릴 수 있으며 그 외에 50 초 후에 앱이 일부 코드를 실행하므로 시간이 걸릴 수도 있습니다.

특정 cron 요청이 호출 될 때 이전 cron이 사용 가능한 상태로 실행되었다는 증거가 있다면 여기에서 공유하십시오.

백엔드는 이러한 작업에 적합한 도구입니다. 맞습니까?

물론입니다.

백엔드 없이도 더 좋은 방법이 있을까요?

'무엇이 더 나은'지 알지 못하면 대답하기가 다소 어렵습니다. 현재 전략에 문제가 있습니까?

2
  1. 인스턴스의 회전은 application settings에 의해 제어됩니다. 요청이 완료되는 데 시간이 오래 걸리는 경우, 설정에 따라 새 인스턴스가 다시 생성 될 수 있습니다.

  2. 작업 큐를 사용하면 데이터를 매우 효과적으로 얻을 수 있습니다. 이것을 위해 백엔드가 필요하지 않습니다. 백엔드는 요청간에 메모리에 데이터를 보관해야 할 때 유용하며 Datastore 요청을 효과적으로 저장합니다.

  3. 마찬가지로 - 가져 오기 작업을위한 작업 대기열을 살펴 봅니다. 데이터 가져 오기 작업은 얼마나 오래 걸리나요? 얼마나 자주 수행해야합니까?

+0

가져 오기에 몇 밀리 초가 걸리고 5-10 초 사이에 데이터를 가져와야합니다. –