| Index: go/src/infra/gae/libs/gae/prod/taskqueue.go
|
| diff --git a/go/src/infra/gae/libs/gae/prod/taskqueue.go b/go/src/infra/gae/libs/gae/prod/taskqueue.go
|
| deleted file mode 100644
|
| index c66d375aa5073db77bcc8884da2fd37b67fcc67b..0000000000000000000000000000000000000000
|
| --- a/go/src/infra/gae/libs/gae/prod/taskqueue.go
|
| +++ /dev/null
|
| @@ -1,150 +0,0 @@
|
| -// 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 prod
|
| -
|
| -import (
|
| - "fmt"
|
| - "golang.org/x/net/context"
|
| - "reflect"
|
| -
|
| - "infra/gae/libs/gae"
|
| -
|
| - "google.golang.org/appengine/taskqueue"
|
| -)
|
| -
|
| -// useTQ adds a gae.TaskQueue implementation to context, accessible
|
| -// by gae.GetTQ(c)
|
| -func useTQ(c context.Context) context.Context {
|
| - return gae.SetTQFactory(c, func(ci context.Context) gae.TaskQueue {
|
| - return tqImpl{ci}
|
| - })
|
| -}
|
| -
|
| -type tqImpl struct {
|
| - context.Context
|
| -}
|
| -
|
| -func init() {
|
| - const TASK_EXPECTED_FIELDS = 9
|
| - // Runtime-assert that the number of fields in the Task structs is 9, to
|
| - // avoid missing additional fields if they're added later.
|
| - // all other type assertions are statically enforced by o2n() and tqF2R()
|
| -
|
| - oldType := reflect.TypeOf((*taskqueue.Task)(nil))
|
| - newType := reflect.TypeOf((*gae.TQTask)(nil))
|
| -
|
| - if oldType.NumField() != newType.NumField() ||
|
| - oldType.NumField() != TASK_EXPECTED_FIELDS {
|
| - panic(fmt.Errorf(
|
| - "prod/taskqueue:init() field count differs: %v, %v",
|
| - oldType, newType))
|
| - }
|
| -}
|
| -
|
| -// tqR2FErr (TQ real-to-fake w/ error) converts a *taskqueue.Task to a
|
| -// *gae.TQTask, and passes through an error.
|
| -func tqR2FErr(o *taskqueue.Task, err error) (*gae.TQTask, error) {
|
| - if err != nil {
|
| - return nil, err
|
| - }
|
| - n := gae.TQTask{}
|
| - n.Path = o.Path
|
| - n.Payload = o.Payload
|
| - n.Header = o.Header
|
| - n.Method = o.Method
|
| - n.Name = o.Name
|
| - n.Delay = o.Delay
|
| - n.ETA = o.ETA
|
| - n.RetryCount = o.RetryCount
|
| - n.RetryOptions = (*gae.TQRetryOptions)(o.RetryOptions)
|
| - return &n, nil
|
| -}
|
| -
|
| -// tqF2R (TQ fake-to-real) converts a *gae.TQTask to a *taskqueue.Task.
|
| -func tqF2R(n *gae.TQTask) *taskqueue.Task {
|
| - o := taskqueue.Task{}
|
| - o.Path = n.Path
|
| - o.Payload = n.Payload
|
| - o.Header = n.Header
|
| - o.Method = n.Method
|
| - o.Name = n.Name
|
| - o.Delay = n.Delay
|
| - o.ETA = n.ETA
|
| - o.RetryCount = n.RetryCount
|
| - o.RetryOptions = (*taskqueue.RetryOptions)(n.RetryOptions)
|
| - return &o
|
| -}
|
| -
|
| -// tqMR2FErr (TQ multi-real-to-fake w/ error) converts a slice of
|
| -// *taskqueue.Task to a slice of *gae.TQTask
|
| -func tqMR2FErr(os []*taskqueue.Task, err error) ([]*gae.TQTask, error) {
|
| - if err != nil {
|
| - return nil, gae.FixError(err)
|
| - }
|
| - ret := make([]*gae.TQTask, len(os))
|
| - for i, t := range os {
|
| - ret[i], _ = tqR2FErr(t, nil)
|
| - }
|
| - return ret, nil
|
| -}
|
| -
|
| -// tqMF2R (TQ multi-fake-to-real) converts []*gae.TQTask to []*taskqueue.Task.
|
| -func tqMF2R(ns []*gae.TQTask) []*taskqueue.Task {
|
| - ret := make([]*taskqueue.Task, len(ns))
|
| - for i, t := range ns {
|
| - ret[i] = tqF2R(t)
|
| - }
|
| - return ret
|
| -}
|
| -
|
| -//////// TQSingleReadWriter
|
| -
|
| -func (t tqImpl) Add(task *gae.TQTask, queueName string) (*gae.TQTask, error) {
|
| - return tqR2FErr(taskqueue.Add(t.Context, tqF2R(task), queueName))
|
| -}
|
| -func (t tqImpl) Delete(task *gae.TQTask, queueName string) error {
|
| - return taskqueue.Delete(t.Context, tqF2R(task), queueName)
|
| -}
|
| -
|
| -//////// TQMultiReadWriter
|
| -
|
| -func (t tqImpl) AddMulti(tasks []*gae.TQTask, queueName string) ([]*gae.TQTask, error) {
|
| - return tqMR2FErr(taskqueue.AddMulti(t.Context, tqMF2R(tasks), queueName))
|
| -}
|
| -func (t tqImpl) DeleteMulti(tasks []*gae.TQTask, queueName string) error {
|
| - return gae.FixError(taskqueue.DeleteMulti(t.Context, tqMF2R(tasks), queueName))
|
| -}
|
| -
|
| -//////// TQLeaser
|
| -
|
| -func (t tqImpl) Lease(maxTasks int, queueName string, leaseTime int) ([]*gae.TQTask, error) {
|
| - return tqMR2FErr(taskqueue.Lease(t.Context, maxTasks, queueName, leaseTime))
|
| -}
|
| -func (t tqImpl) LeaseByTag(maxTasks int, queueName string, leaseTime int, tag string) ([]*gae.TQTask, error) {
|
| - return tqMR2FErr(taskqueue.LeaseByTag(t.Context, maxTasks, queueName, leaseTime, tag))
|
| -}
|
| -func (t tqImpl) ModifyLease(task *gae.TQTask, queueName string, leaseTime int) error {
|
| - return taskqueue.ModifyLease(t.Context, tqF2R(task), queueName, leaseTime)
|
| -}
|
| -
|
| -//////// TQPurger
|
| -
|
| -func (t tqImpl) Purge(queueName string) error {
|
| - return taskqueue.Purge(t.Context, queueName)
|
| -}
|
| -
|
| -//////// TQStatter
|
| -
|
| -func (t tqImpl) QueueStats(queueNames []string) ([]gae.TQStatistics, error) {
|
| - stats, err := taskqueue.QueueStats(t.Context, queueNames)
|
| - if err != nil {
|
| - return nil, err
|
| - }
|
| - ret := make([]gae.TQStatistics, len(stats))
|
| - for i, s := range stats {
|
| - ret[i] = gae.TQStatistics(s)
|
| - }
|
| - return ret, nil
|
| -}
|
|
|