Handle interrupt signal in src campaigns apply|preview
Created by: mrnugget
Before this change Docker containers kept on running after the interrupt signal was sent to the process and killing it. This was a slight regression, since it was previously fixed by #169.
What this commit does is bring back the behaviour of #169 and also makes sure that we print the correct error message when we canceled a running step.
It also makes sure that we don't enqueue more tasks/steps after being canceled: that's the code in (*executor).Start()
that aborts the Range
call if the context has been cancelled/timed-out and aborts execution of a task if the goroutine already blocked on x.par.Acquire()
.