File tree Expand file tree Collapse file tree
appengine/taskqueue/counter Expand file tree Collapse file tree Original file line number Diff line number Diff line change @@ -52,16 +52,24 @@ def post(self):
5252 'Task {} enqueued, ETA {}.' .format (task .name , task .eta ))
5353
5454
55+ # AsyncEnqueueTaskHandler behaves the same as EnqueueTaskHandler, but shows
56+ # how to queue the task using the asyncronous API. This is not wired up by
57+ # default. To use this, change the MainPageHandler's form action to
58+ # /enqueue_async
5559class AsyncEnqueueTaskHandler (webapp2 .RequestHandler ):
5660 def post (self ):
5761 amount = int (self .request .get ('amount' ))
5862
59- future = taskqueue .add_async (
63+ queue = taskqueue .Queue (name = 'default' )
64+ task = taskqueue .Task (
6065 url = '/update_counter' ,
6166 target = 'worker' ,
6267 params = {'amount' : amount })
6368
64- task = future .wait ()
69+ rpc = queue .add_async (task )
70+
71+ # Wait for the rpc to complete and return the queued task.
72+ task = rpc .get_result ()
6573
6674 self .response .write (
6775 'Task {} enqueued, ETA {}.' .format (task .name , task .eta ))
@@ -70,5 +78,5 @@ def post(self):
7078app = webapp2 .WSGIApplication ([
7179 ('/' , MainPageHandler ),
7280 ('/enqueue' , EnqueueTaskHandler ),
73- ('/enqueue_async' , EnqueueTaskHandler )
81+ ('/enqueue_async' , AsyncEnqueueTaskHandler )
7482], debug = True )
You can’t perform that action at this time.
0 commit comments