Chromium Code Reviews| Index: go/src/infra/gae/libs/wrapper/gae/taskqueue.go |
| diff --git a/go/src/infra/gae/libs/wrapper/gae/taskqueue.go b/go/src/infra/gae/libs/wrapper/gae/taskqueue.go |
| new file mode 100644 |
| index 0000000000000000000000000000000000000000..66cc2d08dd58977194cf8a7a9f070c4a545fd7c8 |
| --- /dev/null |
| +++ b/go/src/infra/gae/libs/wrapper/gae/taskqueue.go |
| @@ -0,0 +1,64 @@ |
| +// Copyright 2015 The Chromium Authors. All rights reserved. |
| +// Use of this source code is governed by a BSD-style license that can be |
| +// found in the LICENSE file. |
| + |
| +package gae |
| + |
| +import ( |
| + "golang.org/x/net/context" |
| + |
| + "appengine" |
| + "appengine/taskqueue" |
| + |
| + "infra/gae/libs/wrapper" |
| +) |
| + |
| +// UseTQ adds a wrapper.TaskQueue implementation to context, accessible |
| +// by wrapper.UseTQ(c) |
|
Vadim Sh.
2015/05/24 19:01:57
GetTQ
iannucci
2015/05/24 20:04:31
...
|
| +func UseTQ(c context.Context) context.Context { |
| + return wrapper.SetTQFactory(c, func(ci context.Context) wrapper.TaskQueue { |
| + return tqImpl{ctx(ci).Context} |
| + }) |
| +} |
| + |
| +type tqImpl struct{ appengine.Context } |
| + |
| +//////// TQSingleReadWriter |
| + |
| +func (t tqImpl) Add(task *taskqueue.Task, queueName string) (*taskqueue.Task, error) { |
| + return taskqueue.Add(t.Context, task, queueName) |
| +} |
| +func (t tqImpl) Delete(task *taskqueue.Task, queueName string) error { |
| + return taskqueue.Delete(t.Context, task, queueName) |
| +} |
| + |
| +//////// TQMultiReadWriter |
| + |
| +func (t tqImpl) AddMulti(tasks []*taskqueue.Task, queueName string) ([]*taskqueue.Task, error) { |
| + return taskqueue.AddMulti(t.Context, tasks, queueName) |
| +} |
| +func (t tqImpl) DeleteMulti(tasks []*taskqueue.Task, queueName string) error { |
| + return taskqueue.DeleteMulti(t.Context, tasks, queueName) |
| +} |
| + |
| +//////// TQLeaser |
| + |
| +func (t tqImpl) Lease(maxTasks int, queueName string, leaseTime int) ([]*taskqueue.Task, error) { |
| + return taskqueue.Lease(t.Context, maxTasks, queueName, leaseTime) |
| +} |
| +func (t tqImpl) LeaseByTag(maxTasks int, queueName string, leaseTime int, tag string) ([]*taskqueue.Task, error) { |
| + return taskqueue.LeaseByTag(t.Context, maxTasks, queueName, leaseTime, tag) |
| +} |
| +func (t tqImpl) ModifyLease(task *taskqueue.Task, queueName string, leaseTime int) error { |
| + return taskqueue.ModifyLease(t.Context, (*taskqueue.Task)(task), queueName, leaseTime) |
| +} |
| + |
| +//////// TQPurger |
| + |
| +func (t tqImpl) Purge(queueName string) error { return taskqueue.Purge(t.Context, queueName) } |
| + |
| +//////// TQStatter |
| + |
| +func (t tqImpl) QueueStats(queueNames []string, maxTasks int) ([]taskqueue.QueueStatistics, error) { |
| + return taskqueue.QueueStats(t.Context, queueNames, maxTasks) |
| +} |