Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(7)

Unified Diff: impl/prod/taskqueue.go

Issue 2512093002: Add support for Pull Queues to prod implementation. (Closed)
Patch Set: Created 4 years, 1 month ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
Index: impl/prod/taskqueue.go
diff --git a/impl/prod/taskqueue.go b/impl/prod/taskqueue.go
index 6b7c1a5fc23664a2c162059a75c43e920944da53..f980d67df1cfe633886856cd34df8445112bec3c 100644
--- a/impl/prod/taskqueue.go
+++ b/impl/prod/taskqueue.go
@@ -85,6 +85,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 +126,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 int) ([]*tq.Task, error) {
+ tasks, err := taskqueue.Lease(t.aeCtx, maxTasks, queueName, leaseTime)
+ if err != nil {
+ return nil, err
+ }
+ return tqMR2F(tasks), nil
+}
+
+func (t tqImpl) LeaseByTag(maxTasks int, queueName string, leaseTime int, tag string) ([]*tq.Task, error) {
+ tasks, err := taskqueue.LeaseByTag(t.aeCtx, maxTasks, queueName, leaseTime, tag)
+ if err != nil {
+ return nil, err
+ }
+ return tqMR2F(tasks), nil
+}
+
+func (t tqImpl) ModifyLease(task *tq.Task, queueName string, leaseTime int) error {
+ return taskqueue.ModifyLease(t.aeCtx, tqF2R(task), queueName, leaseTime)
+}
+
func (t tqImpl) Purge(queueName string) error {
return taskqueue.Purge(t.aeCtx, queueName)
}

Powered by Google App Engine
This is Rietveld 408576698