Index: service/taskqueue/task.go |
diff --git a/service/taskqueue/types.go b/service/taskqueue/task.go |
similarity index 78% |
copy from service/taskqueue/types.go |
copy to service/taskqueue/task.go |
index 1ce2bf88dcbc6988090795cd98a91ceca2712a5c..c24c2a6ee4f8198f2f164ccda500028dd80d3d84 100644 |
--- a/service/taskqueue/types.go |
+++ b/service/taskqueue/task.go |
@@ -2,32 +2,14 @@ |
// Use of this source code is governed by a BSD-style license that can be |
// found in the LICENSE file. |
-// This file contains types which are mirrors/duplicates of the upstream SDK |
-// types. This exists so that users can depend solely on this wrapper library |
-// without necessarially needing an SDK implementation present. |
-// |
-// This was done (instead of type-aliasing from the github version of the SDK) |
-// because some of the types need to be tweaked (like Task.RetryOptions) to |
-// interact well with the wrapper, and the inconsistency of having some types |
-// defined by the gae package and others defined by the SDK was pretty awkward. |
- |
package taskqueue |
import ( |
"net/http" |
+ "net/url" |
"time" |
) |
-// Statistics represents statistics about a single task queue. |
-type Statistics struct { |
- Tasks int // may be an approximation |
- OldestETA time.Time // zero if there are no pending tasks |
- |
- Executed1Minute int // tasks executed in the last minute |
- InFlight int // tasks executing now |
- EnforcedRate float64 // requests per second |
-} |
- |
// RetryOptions let you control whether to retry a task and the backoff intervals between tries. |
type RetryOptions struct { |
// Number of tries/leases after which the task fails permanently and is deleted. |
@@ -98,6 +80,18 @@ type Task struct { |
RetryOptions *RetryOptions |
} |
+// NewPOSTTask creates a Task that will POST to a path with URL-encoded values. |
+func NewPOSTTask(path string, params url.Values) *Task { |
+ h := make(http.Header) |
+ h.Set("Content-Type", "application/x-www-form-urlencoded") |
+ return &Task{ |
+ Path: path, |
+ Payload: []byte(params.Encode()), |
+ Header: h, |
+ Method: "POST", |
+ } |
+} |
+ |
// Duplicate returns a deep copy of this Task. |
func (t *Task) Duplicate() *Task { |
ret := *t |