我创建了一个非常简单的MapReduce管道,但我有一个神秘的:Python的AppEngine上的MapReduce
PipelineSetupError: Error starting production.cron.pipelines.ItemsInfoPipeline(*(), **{})#a741186284ed4fb8a4cd06e38921beff:
当我尝试启动它。这是管道代码:
class ItemsInfoPipeline(base_handler.PipelineBase):
"""
"""
def run(self):
output = yield mapreduce_pipeline.MapreducePipeline(
job_name="items_job",
mapper_spec="production.cron.mappers.items_info_mapper",
input_reader_spec="mapreduce.input_readers.DatastoreInputReader",
mapper_params={
"input_reader": {
"entity_kind": "production.models.Transaction"
}
}
)
yield ItemsInfoStorePipeline(output)
class ItemsInfoStorePipeline(base_handler.PipelineBase):
"""
"""
def run(self, statistics):
print statistics
return "OK"
当然,我有双重检查,该映射路径是正确的,并考虑到,ItemsInfoStorePipeline没有做任何事情,因为我是聚焦有管道开始,这是不会发生的帐户。
它全部由烧瓶视图触发,执行以下操作:
class ItemsInfoMRJob(views.MethodView):
"""
It's based on transacions.
"""
def get(self):
"""
:return:
"""
pipeline = ItemsInfoPipeline()
pipeline.start()
redirect_url = "%s/status?root=%s" % (pipeline.base_path, pipeline.pipeline_id)
return flask.redirect(redirect_url)
我使用
感谢您的帮助。
UPDATE
在上面的代码工作一旦部署。
更新2
显然有更多的人处理这个:
https://github.com/GoogleCloudPlatform/appengine-mapreduce/issues/103
有趣。你可以在这里粘贴下面的结果: '哪个dev_appserver.py'? 会很有用。 –
另外,这对我不起作用。 –
它只适用于那台机器。我的osx框工作正常。出于绝望,我在Ubuntu上创建了一个Docker镜像库,并且可靠地抛出了这个错误,而上面的错误并没有解决它。 – user3542985