From b779fc677d9a96f04accb79f96042ecf82cb7982 Mon Sep 17 00:00:00 2001 From: Alena Petraki <alena.petraki@gmail.com> Date: Sun, 23 Jul 2023 14:48:00 +0300 Subject: [PATCH] =?UTF-8?q?=D0=94=D0=BE=D0=B1=D0=B0=D0=B2=D0=BB=D0=B5?= =?UTF-8?q?=D0=BD=D1=8B=20=D0=BA=D0=BE=D0=BC=D0=BC=D0=B5=D0=BD=D1=82=D0=B0?= =?UTF-8?q?=D1=80=D0=B8=D0=B8=20=D0=BF=D0=BE=20=D1=80=D0=B0=D0=B1=D0=BE?= =?UTF-8?q?=D1=82=D0=B5=20=D0=BE=D1=87=D0=B5=D1=80=D0=B5=D0=B4=D0=B8.=20?= =?UTF-8?q?=D0=98=D1=81=D0=BF=D1=80=D0=B0=D0=B2=D0=BB=D0=B5=D0=BD=D1=8B=20?= =?UTF-8?q?=D0=BE=D0=BF=D0=B5=D1=87=D0=B0=D1=82=D0=BA=D0=B8=20=D0=B2=20?= =?UTF-8?q?=D0=BA=D0=BE=D0=B4=D0=B5=20expr?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- pkg/expr/slice.go | 19 ++++++------------- pkg/queue/queue.go | 8 ++++++++ 2 files changed, 14 insertions(+), 13 deletions(-) diff --git a/pkg/expr/slice.go b/pkg/expr/slice.go index d286e146..24a23412 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 356f17f4..34075f23 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 -- GitLab