Преглед на файлове

optimize for small number of tasks

Darien Raymond преди 7 години
родител
ревизия
3620ebfc11
променени са 1 файла, в които са добавени 9 реда и са изтрити 0 реда
  1. 9 0
      common/task/task.go

+ 9 - 0
common/task/task.go

@@ -56,6 +56,15 @@ func Parallel(tasks ...Task) ExecutionOption {
 
 func Sequential(tasks ...Task) ExecutionOption {
 	return func(c *executionContext) {
+		if len(tasks) == 0 {
+			return
+		}
+
+		if len(tasks) == 1 {
+			c.tasks = append(c.tasks, tasks[0])
+			return
+		}
+
 		c.tasks = append(c.tasks, func() error {
 			return execute(tasks...)
 		})