It looks like you recently got your wish for this excellent feature. Am I 
right in thinking that this can (and should) be used to address the 
challenges with high throughput updates that still exist? I know the 2010 
Google I/O presentation by Brett Slatkin has been referenced by many folks, 
but there seem to be some issues with that, specifically the Eventual 
Consistency of the HRD. A push/pull queue based implementation might look 
like this:

For each unit of work:
-Write work to Pull queue with tag=BatchID
-Write named 'fan-in' task to Push Queue for execution <batch period ms> in 
the future, containing the BatchID

When the named task executes:
-Lease all available tasks from the Pull queue using the tag=BatchID
-Aggregate the work
-Apply the update to the Datastore

Is a feasible/appropriate/recommended use of the Pull Queue tag mechanism?

On Monday, May 16, 2011 9:53:03 PM UTC-4, Jason Collins wrote:
>
> As pointed out by all-around-smart-dude Robert Kluin, it would be 
> great if you could place arbitrary tags on a task when submitting to a 
> pull queue, and then lease the tasks back out with that tag. This 
> would provide a great, built-in mechanism to do groupings, etc. 
>
> This would yield: 
>
>   q = taskqueue.Queue('pull0') 
>   q.add(taskqueue.Task(payload=payload_str, method='PULL', 
> tag='mytag')) 
>
> and 
>
>   q = taskqueue.Queue('pull0') 
>   sometasks = q.lease_tasks(3600, 100, tag='mytag') 
>
> where "tag" is an optional kwarg in both cases. 
>
> Star http://code.google.com/p/googleappengine/issues/detail?id=5061, 
> or discuss there.

-- 
You received this message because you are subscribed to the Google Groups 
"Google App Engine" group.
To view this discussion on the web visit 
https://groups.google.com/d/msg/google-appengine/-/WEfUTqDVHcAJ.
To post to this group, send email to [email protected].
To unsubscribe from this group, send email to 
[email protected].
For more options, visit this group at 
http://groups.google.com/group/google-appengine?hl=en.

Reply via email to