http://code.google.com/p/appengine-mapreduce/ упоминает, что он может контролировать скорость выполнения, но я не могу понять, как . Было бы целесообразно создать очередь заданий для задания картографирования и оттуда контролировать скорость, но я не вижу, как указать, какую очередь использовать.
(Спасибо Крису за указатель, но после этого пришлось немного покопаться, чтобы найти точный параметр.)
С http://code.google.com/p/appengine-mapreduce/wiki/UserGuideJava добавьте это в элемент конфигурации mapreduce.xmlограничение количества объектов, обрабатываемых в секунду:
<property> <name>mapreduce.mapper.inputprocessingrate</name> <value>4</value> </property>
Я не использую версию Java самостоятельно, но версия Python имеет параметр processing_rate, который вы передаете в спецификацию mapper.
processing_rate
Быстрый поиск в исходном коде Java обнаруживает MAPPER_INPUT_PROCESSING_RATE_KEY ключ конфигурации, который, надеюсь, направит вас в правильном направлении.
Для пользователей, использующих python, вы можете искать эту переменную, известную как "_DEFAULT_PROCESSING_RATE_PER_SEC" в model.py, чтобы увеличить скорость обработки по умолчанию в секунду. Это сработало для меня!