

@staticmethod
def reduce(key, stringified_values):
    if ('@' not in key):
        logging.error(('Invalid reducer key for RecentUpdatesMRJob: %s' % key))
    user_id = key[:key.find('@')]
    job_queued_msec = float(key[(key.find('@') + 1):])
    values = [ast.literal_eval(sv) for sv in stringified_values]
    sorted_values = sorted(values, key=(lambda x: values['last_updated_ms']), reverse=True)
    user_models.UserRecentChangesBatchModel(id=user_id, output=sorted_values[:feconf.DEFAULT_QUERY_LIMIT], job_queued_msec=job_queued_msec).put()

dataset/ETHPy150Open oppia/oppia/core/domain/user_jobs_continuous.py RecentUpdatesMRJobManager.reduce/VarMisuse@97/134 `x`->`values`