如何在GAE Python上从cron启动mapreduce作业
我在mapreduce.yaml中定义了mapreduce作业:如何在GAE Python上从cron启动mapreduce作业,python,google-app-engine,cron,mapreduce,Python,Google App Engine,Cron,Mapreduce,我在mapreduce.yaml中定义了mapreduce作业: mapreduce: - name: JobName mapper: input_reader: google.appengine.ext.mapreduce.input_readers.DatastoreInputReader handler: handler_name params: - name: entity_kind default: KindName 如何从cron启
mapreduce:
- name: JobName
mapper:
input_reader: google.appengine.ext.mapreduce.input_readers.DatastoreInputReader
handler: handler_name
params:
- name: entity_kind
default: KindName
如何从cron启动它?是否有一些url可以运行它?是的,如果您查看页面,它显示您在应用程序中设置了url。yaml
:
handlers:
- url: /mapreduce(/.*)?
script: mapreduce/main.py
login: admin
然后,您可以用通常的应用程序引擎方式cron它,在本例中,这将是编写一个cron.yaml
如下:
cron:
- description: daily summary job
url: /mapreduce
schedule: every 24 hours
您可以使用从任何类型的AppEngine处理程序启动mapreduce任务
这将创建一个cron作业,每天获取一次mapreduce管理页面。它不会执行任何mapreduces。我注意到文件中有一条评论说,
start\u map
已被弃用,请改用map\u作业。start
;此评论可能是在给出此答案后添加的。
from mapreduce import control
mapreduce_id = control.start_map(
"My Mapper",
"main.my_mapper",
"mapreduce.input_readers.DatastoreInputReader",
{"entity_kind": "models.MyEntity"},
shard_count=10)