2011-06-03 18 views
5

पर क्रॉन से mapreduce काम शुरू करने के लिए मैं mapreduce काम mapreduce.yaml में परिभाषित किया है:कैसे GAE अजगर

mapreduce: 
- name: JobName 
    mapper: 
    input_reader: google.appengine.ext.mapreduce.input_readers.DatastoreInputReader 
    handler: handler_name 
    params: 
    - name: entity_kind 
     default: KindName 

कैसे क्रॉन से शुरू करें? क्या कोई यूआरएल है जो इसे चला सकता है?

उत्तर

10

आप का उपयोग कर AppEngine हैंडलर के किसी भी प्रकार से एक mapreduce काम शुरू कर सकते हैं control.py

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) 
+0

मैंने फ़ाइल में एक टिप्पणी देखी जो कहती है कि 'start_map' को बहिष्कृत किया गया है और इसके बजाय 'map_job.start' का उपयोग करना है; इस टिप्पणी के बाद यह टिप्पणी जोड़ा जा सकता है। –

-6

हाँ, यदि आप Getting Started पृष्ठ देख रहे हैं, तो यह आपको में URL सेट है कि पता चलता है अपने app.yaml:

handlers: 
- url: /mapreduce(/.*)? 
    script: mapreduce/main.py 
    login: admin 

फिर आप बस हमेशा की तरह App इंजन फैशन में क्रॉन कर सकते हैं, जो इस उदाहरण में होगा एक cron.yaml इस तरह लेखन:

cron: 
- description: daily summary job 
    url: /mapreduce 
    schedule: every 24 hours 
+2

यह एक क्रॉन नौकरी तैयार करेगा जो दिन में एक बार मैप्रिडिस व्यवस्थापक पृष्ठ लाता है। यह किसी भी नक्शा को निष्पादित नहीं करेगा। –