func (t tqImpl) DeleteMulti(tasks []*tq.Task, queueName string, cb tq.RawCB) error { err := taskqueue.DeleteMulti(t.aeCtx, tqMF2R(tasks), queueName) if me, ok := err.(appengine.MultiError); ok { for _, err := range me { cb(err) } err = nil } return err }
func addTaskHandler(w http.ResponseWriter, r *http.Request) { ctx := appengine.NewContext(r) // [START adding_tasks_to_a_pull_queue] t := &taskqueue.Task{ Payload: []byte("hello world"), Method: "PULL", } _, err := taskqueue.Add(ctx, t, "pull-queue") // [END adding_tasks_to_a_pull_queue] _ = err // [START leasing_tasks_1] tasks, err := taskqueue.Lease(ctx, 100, "pull-queue", 3600) // [END leasing_tasks_1] // [START leasing_tasks_2] _, err = taskqueue.Add(ctx, &taskqueue.Task{ Payload: []byte("parse"), Method: "PULL", Tag: "parse", }, "pull-queue") _, err = taskqueue.Add(ctx, &taskqueue.Task{ Payload: []byte("render"), Method: "PULL", Tag: "render", }, "pull-queue") // leases render tasks, but not parse tasks, err = taskqueue.LeaseByTag(ctx, 100, "pull-queue", 3600, "render") // Leases up to 100 tasks that have same tag. // Tag is that of "oldest" task by ETA. tasks, err = taskqueue.LeaseByTag(ctx, 100, "pull-queue", 3600, "") // [END leasing_tasks_2] // [START deleting_tasks_1] tasks, err = taskqueue.Lease(ctx, 100, "pull-queue", 3600) // Perform some work with the tasks here taskqueue.DeleteMulti(ctx, tasks, "pull-queue") // [END deleting_tasks_1] }