Сканеры и приложения, размещенные на Google App Engine - PullRequest
4 голосов
/ 24 марта 2009

Невозможно ли запустить веб-сканер на GAE вместе с моим приложением, учитывая, что у меня запущена бесплатная загрузочная версия?

Ответы [ 4 ]

3 голосов
/ 25 марта 2009

Хотя Google не выставлял API планирования, очереди и фоновых задач, вы можете выполнять любую обработку только как ответ на внешний HTTP-запрос. Вам понадобится служба пульса, которая будет обрабатывать по одному элементу из очереди сканера за раз (чтобы не превышать пределы GAE).

Чтобы выполнить сканирование из GAE, вы должны разделить свое приложение на очередь (которая хранит данные очереди в хранилище данных), процессор очереди, который будет реагировать на внешнее биение HTTP и вашу фактическую логику сканирования.

Вам придется вручную следить за использованием квоты и запускать сердцебиение, когда у вас есть запасная квота, и останавливаться, если она израсходована.

Когда Google представит API, о которых я говорил в начале, вам придется переписывать части, которые реализованы более эффективно с помощью Google API.

ОБНОВЛЕНИЕ: Google представил API очереди задач некоторое время назад. См. документы очереди задач для python и java .

1 голос
/ 24 марта 2009

Код App Engine выполняется только в ответ на HTTP-запросы, поэтому вы не можете запустить постоянный сканер в фоновом режиме. В предстоящем выпуске запланированных задач вы могли бы написать сканер, который будет использовать эту функциональность, но это было бы далеко не идеально.

0 голосов
/ 24 марта 2009

Это возможно. Но на самом деле это не приложение для appengine, как писал Арахнид. Если вам удастся заставить его работать, я сомневаюсь, что вы останетесь в квотах на бесплатные аккаунты.

0 голосов
/ 24 марта 2009

Полагаю, вы можете (то есть, , не исключено, ) запустить его, но он будет медленным, и вы очень быстро столкнетесь с ограничениями . Поскольку в конце мая квоты на ЦП будут еще меньше, я бы рекомендовал не делать этого.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...