| Index: impl/prod/taskqueue.go
|
| diff --git a/impl/prod/taskqueue.go b/impl/prod/taskqueue.go
|
| index 6b7c1a5fc23664a2c162059a75c43e920944da53..758fb2b45107d912068c8f9a81fe7b8cb1279a03 100644
|
| --- a/impl/prod/taskqueue.go
|
| +++ b/impl/prod/taskqueue.go
|
| @@ -7,6 +7,7 @@ package prod
|
| import (
|
| "fmt"
|
| "reflect"
|
| + "time"
|
|
|
| tq "github.com/luci/gae/service/taskqueue"
|
| "golang.org/x/net/context"
|
| @@ -85,6 +86,15 @@ func tqMF2R(ns []*tq.Task) []*taskqueue.Task {
|
| return ret
|
| }
|
|
|
| +// tqMR2F (TQ multi-real-to-fake) converts []*taskqueue.Task to []*tq.Task.
|
| +func tqMR2F(ns []*taskqueue.Task) []*tq.Task {
|
| + ret := make([]*tq.Task, len(ns))
|
| + for i, t := range ns {
|
| + ret[i] = tqR2F(t)
|
| + }
|
| + return ret
|
| +}
|
| +
|
| func (t tqImpl) AddMulti(tasks []*tq.Task, queueName string, cb tq.RawTaskCB) error {
|
| realTasks, err := taskqueue.AddMulti(t.aeCtx, tqMF2R(tasks), queueName)
|
| if err != nil {
|
| @@ -117,6 +127,26 @@ func (t tqImpl) DeleteMulti(tasks []*tq.Task, queueName string, cb tq.RawCB) err
|
| return err
|
| }
|
|
|
| +func (t tqImpl) Lease(maxTasks int, queueName string, leaseTime time.Duration) ([]*tq.Task, error) {
|
| + tasks, err := taskqueue.Lease(t.aeCtx, maxTasks, queueName, int(leaseTime/time.Second))
|
| + if err != nil {
|
| + return nil, err
|
| + }
|
| + return tqMR2F(tasks), nil
|
| +}
|
| +
|
| +func (t tqImpl) LeaseByTag(maxTasks int, queueName string, leaseTime time.Duration, tag string) ([]*tq.Task, error) {
|
| + tasks, err := taskqueue.LeaseByTag(t.aeCtx, maxTasks, queueName, int(leaseTime/time.Second), tag)
|
| + if err != nil {
|
| + return nil, err
|
| + }
|
| + return tqMR2F(tasks), nil
|
| +}
|
| +
|
| +func (t tqImpl) ModifyLease(task *tq.Task, queueName string, leaseTime time.Duration) error {
|
| + return taskqueue.ModifyLease(t.aeCtx, tqF2R(task), queueName, int(leaseTime/time.Second))
|
| +}
|
| +
|
| func (t tqImpl) Purge(queueName string) error {
|
| return taskqueue.Purge(t.aeCtx, queueName)
|
| }
|
|
|