2016-04-06 3 views
0

私はGoogle App Engineの中にキューで動作するようにしようとしているが、私は何度も何度もドキュメントを読んだ後、ポイントを理解していない:GAEはどのようにタスクキューの正しいハンドラを検出しますか?

を私はこのようなqueue.yamlにキューを定義する場合:

queue: 
- name: invoice 
    rate: 2/m 

そして、このようなapp.yamlをそのハンドラ:

handlers: 
- url: /tasks/invoice 
    script: invoice.py 
    login: admin 

そして、私はこのようなタスク(パイソン)を追加します。

taskqueue.add(queue_name='invoice', name='invoice-{0}'.format(str(datetime.datetime.now()),), params={'id': id}) 

Googleは「請求書」キューをスクリプトにどのようにマッピングしますか。

私は、ハンドラのURLが(適応)以下であることを、オンラインでの例で見た:

url: /_ah/queue/invoice 

/_ah/queue/はGAEは右のハンドラでqueue_ nameをマッピングするのに役立ちます追加していますか?

答えて

1

プッシュタスクは、その実装をURLで参照します。あなたは労働者のURLを指定しない場合は、タスクがキューにちなんで名付けられたデフォルトのワーカーURLを使用しています。

/_ah/queue/[queue_name] 

キューのデフォルトのURLは次の場合に使用され、タスクがそののワーカーURLを持っていないだけで、場合自分の。タスクに独自のワーカーURLがある場合、ワーカーURLでのみ呼び出されます。

# Add the task to the 'queue1' queue and use explicit handler (/path/to/your/handler/) 
taskqueue.add(queue_name='queue1', url='/path/to/your/handler/', params={'key': value}) 

# Add the task to the 'queue1' queue and use the default handler (/_ah/queue/queue1) 
taskqueue.add(queue_name='queue1', params={'key': value}) 

詳細はhereです。

0

queue.yamlファイル(dispatch.yamlcron.yamlindex.yamldos.yamlと共に)アプリケーションレベル構成です。

queue.yamlファイルのキューの定義は、ファイルに適用され、特定のファイルにはマッピングされていません(その必要もありません)。グローバルを考えよう。

関連する問題