Skip to content

Commit

Permalink
fix: increase max task calls limit from 100 to 1000
Browse files Browse the repository at this point in the history
Closes #1321
Closes #1332
  • Loading branch information
andreynering committed Oct 7, 2023
1 parent adfb96b commit a70f5aa
Show file tree
Hide file tree
Showing 2 changed files with 9 additions and 2 deletions.
4 changes: 4 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -8,6 +8,10 @@
#1342 by @pd93).
- Added a new [exit code](https://taskfile.dev/api/#exit-codes) (107) for when a
Taskfile does not contain a schema version (#1342 by @pd93).
- Increased limit of maximum task calls from 100 to 1000 for now, as some people
have been reaching this limit organically now that we have loops. This check
exists to detect recursive calls, but will be removed in favor of a better
algorithm soon (#1321, #1332).

## v3.30.1 - 2023-09-14

Expand Down
7 changes: 5 additions & 2 deletions task.go
Original file line number Diff line number Diff line change
Expand Up @@ -34,7 +34,7 @@ import (
const (
// MaximumTaskCall is the max number of times a task can be called.
// This exists to prevent infinite loops on cyclic dependencies
MaximumTaskCall = 100
MaximumTaskCall = 1000
)

func shouldPromptContinue(input string) bool {
Expand Down Expand Up @@ -173,7 +173,10 @@ func (e *Executor) RunTask(ctx context.Context, call taskfile.Call) error {
return err
}
if !e.Watch && atomic.AddInt32(e.taskCallCount[t.Task], 1) >= MaximumTaskCall {
return &errors.TaskCalledTooManyTimesError{TaskName: t.Task}
return &errors.TaskCalledTooManyTimesError{
TaskName: t.Task,
MaximumTaskCall: MaximumTaskCall,
}
}

release := e.acquireConcurrencyLimit()
Expand Down

0 comments on commit a70f5aa

Please sign in to comment.