diff options
Diffstat (limited to 'plugins/jobs/dispatcher/dispatcher.go')
-rw-r--r-- | plugins/jobs/dispatcher/dispatcher.go | 49 |
1 files changed, 0 insertions, 49 deletions
diff --git a/plugins/jobs/dispatcher/dispatcher.go b/plugins/jobs/dispatcher/dispatcher.go deleted file mode 100644 index e73e7b74..00000000 --- a/plugins/jobs/dispatcher/dispatcher.go +++ /dev/null @@ -1,49 +0,0 @@ -package dispatcher - -import ( - "strings" - - "github.com/spiral/roadrunner/v2/plugins/jobs/structs" -) - -var separators = []string{"/", "-", "\\"} - -// Dispatcher provides ability to automatically locate the pipeline for the specific job -// and update job options (if none set). -type Dispatcher map[string]*structs.Options - -// pre-compile patterns -func initDispatcher(routes map[string]*structs.Options) Dispatcher { - dispatcher := make(Dispatcher) - for pattern, opts := range routes { - pattern = strings.ToLower(pattern) - pattern = strings.Trim(pattern, "-.*") - - for _, s := range separators { - pattern = strings.ReplaceAll(pattern, s, ".") - } - - dispatcher[pattern] = opts - } - - return dispatcher -} - -// Match clarifies target job pipeline and other job options. Can return nil. -func (dispatcher Dispatcher) Match(job *structs.Job) (found *structs.Options) { - var best = 0 - - jobName := strings.ToLower(job.Job) - for pattern, opts := range dispatcher { - if strings.HasPrefix(jobName, pattern) && len(pattern) > best { - found = opts - best = len(pattern) - } - } - - if best == 0 { - return nil - } - - return found -} |