2010-10-25 1 views
5

Я использую Maps Engine для Google Maps Engine для анализа некоторых данных. Я создаю несколько счетчиков, которые хотели бы создать простую диаграмму Google из моего файла done_callback. Как получить доступ к результирующим счетчикам из обратного вызова?В python версии Google App Engine mapreduce, как вы получаете доступ к счетчикам из done_callback?

#The map method 
def count_created_since(entity): 
    now = datetime.datetime.now() 
    delta = now-entity.created 

    #analyze last 12 weeks 
    for x in range(12): 
    start = 7*x 
    stop = 7*(x+1) 

    if delta.days >= start and delta.days < stop: 
     #The counters 
     yield op.counters.Increment(str(x)+" weeks ago") 


def my_callback(request): 
    # fetch counter results to create a simple Google chart url 

ответ

5

Вы можете получить доступ к счетчику через MapreduceState'scounter_map атрибута в.

from mapreduce import model 
state = model.MapreduceState.get_by_job_id(your_job_id) 
# counters live in state.counters_map 

Был discussion в списке рассылки в месяц или около того назад о доступе счетчики.

+0

Спасибо, но как определить job_id в обратном вызове? Он передается в качестве параметра через POST для обратного вызова? – Chris

+0

Он передается как параметр с именем 'job_id'. –

+0

@Chris @Robert, я не знаю, как это было принято, когда вы отвечаете на этот вопрос, но сегодня он передается в заголовке в переменной, называемой ** Mapreduce-Id ** –

Смежные вопросы