diff --git a/pkg/expr/slice.go b/pkg/expr/slice.go index d286e146b79a4f430249db5ae13565ffe2da3764..24a234124fc8aad1f17efd030f91d151d46f6b3f 100644 --- a/pkg/expr/slice.go +++ b/pkg/expr/slice.go @@ -1,12 +1,5 @@ package expr -const ( - Unknown uint8 = iota - String - Int - Float -) - func init() { RegisterOption( Extend("In", In), @@ -23,11 +16,11 @@ func In(v1, v2 interface{}) bool { switch { case ok1 && ok2: - return sliceInSlice1(s1, s2) + return sliceInSlice(s1, s2) case ok1 && !ok2: - return valueInSlice1(v2, s1) + return valueInSlice(v2, s1) case !ok1 && ok2: - return valueInSlice1(v1, s2) + return valueInSlice(v1, s2) case !ok1 && !ok2: return v1 == v2 } @@ -35,16 +28,16 @@ func In(v1, v2 interface{}) bool { return false } -func sliceInSlice1(s1, s2 []interface{}) bool { +func sliceInSlice(s1, s2 []interface{}) bool { for _, v1 := range s1 { - if valueInSlice1(v1, s2) { + if valueInSlice(v1, s2) { return true } } return false } -func valueInSlice1(v interface{}, s []interface{}) bool { +func valueInSlice(v interface{}, s []interface{}) bool { for _, e := range s { if e == v { return true diff --git a/pkg/queue/queue.go b/pkg/queue/queue.go index 356f17f4125765f6822551358b79cc1037cf17b8..34075f23240f0aff3002f1ad576fd204d620f9e7 100644 --- a/pkg/queue/queue.go +++ b/pkg/queue/queue.go @@ -40,6 +40,10 @@ func (g *JobGroup) Wait() { g.wg.Wait() } +// Queue предназначена для постановки в очередь и выполнения задач с соблюдением +// максимально возможного числа одновременно выполняемых задач (по умолчанию число +// логических CPU). Каждой задаче присваивается идентификатор, по которому можно +// получить результат выполнения задачи. type Queue struct { jobsCh chan Job results sync.Map @@ -50,6 +54,10 @@ type Queue struct { Size int } +// AddJob - добавить задачу в очередь на обработку. В случае, если в очереди скопилось задач +// больше, чем defaultSize, вернется ошибка и задача не будет добавлена. Каждой задаче +// присваивается идентификатор, по которому можно получить результат выполнения задачи. Все результаты +// доступны в течение часа после завершения выполнения задачи. func (j *Queue) AddJob(job Job) (jobID string, err error) { if j == nil { return