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

Side by Side Diff: impl/memory/taskqueue.go

Issue 2512093002: Add support for Pull Queues to prod implementation. (Closed)
Patch Set: use time.Duration for leaseTime 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 unified diff | Download patch
« no previous file with comments | « impl/dummy/dummy.go ('k') | impl/prod/taskqueue.go » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 // Copyright 2015 The LUCI Authors. All rights reserved. 1 // Copyright 2015 The LUCI Authors. All rights reserved.
2 // Use of this source code is governed under the Apache License, Version 2.0 2 // Use of this source code is governed under the Apache License, Version 2.0
3 // that can be found in the LICENSE file. 3 // that can be found in the LICENSE file.
4 4
5 package memory 5 package memory
6 6
7 import ( 7 import (
8 "regexp" 8 "regexp"
9 "time"
9 10
10 "golang.org/x/net/context" 11 "golang.org/x/net/context"
11 12
12 tq "github.com/luci/gae/service/taskqueue" 13 tq "github.com/luci/gae/service/taskqueue"
13 14
14 "github.com/luci/luci-go/common/data/rand/mathrand" 15 "github.com/luci/luci-go/common/data/rand/mathrand"
15 "github.com/luci/luci-go/common/errors" 16 "github.com/luci/luci-go/common/errors"
16 ) 17 )
17 18
18 /////////////////////////////// public functions /////////////////////////////// 19 /////////////////////////////// public functions ///////////////////////////////
(...skipping 79 matching lines...) Expand 10 before | Expand all | Expand 10 after
98 if err != nil { 99 if err != nil {
99 return err 100 return err
100 } 101 }
101 102
102 for _, task := range tasks { 103 for _, task := range tasks {
103 cb(t.deleteLocked(task, queueName)) 104 cb(t.deleteLocked(task, queueName))
104 } 105 }
105 return nil 106 return nil
106 } 107 }
107 108
109 func (t *taskqueueImpl) Lease(maxTasks int, queueName string, leaseTime time.Dur ation) ([]*tq.Task, error) {
110 panic("not implemented yet")
111 }
112
113 func (t *taskqueueImpl) LeaseByTag(maxTasks int, queueName string, leaseTime tim e.Duration, tag string) ([]*tq.Task, error) {
114 panic("not implemented yet")
115 }
116
117 func (t *taskqueueImpl) ModifyLease(task *tq.Task, queueName string, leaseTime t ime.Duration) error {
118 panic("not implemented yet")
119 }
120
108 func (t *taskqueueImpl) Purge(queueName string) error { 121 func (t *taskqueueImpl) Purge(queueName string) error {
109 t.Lock() 122 t.Lock()
110 defer t.Unlock() 123 defer t.Unlock()
111 124
112 return t.purgeLocked(queueName) 125 return t.purgeLocked(queueName)
113 } 126 }
114 127
115 func (t *taskqueueImpl) Stats(queueNames []string, cb tq.RawStatsCB) error { 128 func (t *taskqueueImpl) Stats(queueNames []string, cb tq.RawStatsCB) error {
116 t.Lock() 129 t.Lock()
117 defer t.Unlock() 130 defer t.Unlock()
(...skipping 83 matching lines...) Expand 10 before | Expand all | Expand 10 after
201 for _, task := range tasks { 214 for _, task := range tasks {
202 cb(t.addLocked(task, queueName)) 215 cb(t.addLocked(task, queueName))
203 } 216 }
204 return nil 217 return nil
205 } 218 }
206 219
207 func (t *taskqueueTxnImpl) DeleteMulti([]*tq.Task, string, tq.RawCB) error { 220 func (t *taskqueueTxnImpl) DeleteMulti([]*tq.Task, string, tq.RawCB) error {
208 return errors.New("taskqueue: cannot DeleteMulti from a transaction") 221 return errors.New("taskqueue: cannot DeleteMulti from a transaction")
209 } 222 }
210 223
224 func (t *taskqueueTxnImpl) Lease(maxTasks int, queueName string, leaseTime time. Duration) ([]*tq.Task, error) {
225 return nil, errors.New("taskqueue: cannot Lease from a transaction")
226 }
227
228 func (t *taskqueueTxnImpl) LeaseByTag(maxTasks int, queueName string, leaseTime time.Duration, tag string) ([]*tq.Task, error) {
229 return nil, errors.New("taskqueue: cannot LeaseByTag from a transaction" )
230 }
231
232 func (t *taskqueueTxnImpl) ModifyLease(task *tq.Task, queueName string, leaseTim e time.Duration) error {
233 return errors.New("taskqueue: cannot ModifyLease from a transaction")
234 }
235
211 func (t *taskqueueTxnImpl) Purge(string) error { 236 func (t *taskqueueTxnImpl) Purge(string) error {
212 return errors.New("taskqueue: cannot Purge from a transaction") 237 return errors.New("taskqueue: cannot Purge from a transaction")
213 } 238 }
214 239
215 func (t *taskqueueTxnImpl) Stats([]string, tq.RawStatsCB) error { 240 func (t *taskqueueTxnImpl) Stats([]string, tq.RawStatsCB) error {
216 return errors.New("taskqueue: cannot Stats from a transaction") 241 return errors.New("taskqueue: cannot Stats from a transaction")
217 } 242 }
218 243
219 func (t *taskqueueTxnImpl) GetTestable() tq.Testable { return t } 244 func (t *taskqueueTxnImpl) GetTestable() tq.Testable { return t }
220 245
(...skipping 19 matching lines...) Expand all
240 func dupQueue(q tq.QueueData) tq.QueueData { 265 func dupQueue(q tq.QueueData) tq.QueueData {
241 r := make(tq.QueueData, len(q)) 266 r := make(tq.QueueData, len(q))
242 for k, q := range q { 267 for k, q := range q {
243 r[k] = make(map[string]*tq.Task, len(q)) 268 r[k] = make(map[string]*tq.Task, len(q))
244 for tn, t := range q { 269 for tn, t := range q {
245 r[k][tn] = t.Duplicate() 270 r[k][tn] = t.Duplicate()
246 } 271 }
247 } 272 }
248 return r 273 return r
249 } 274 }
OLDNEW
« no previous file with comments | « impl/dummy/dummy.go ('k') | impl/prod/taskqueue.go » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698