Open
Description
The run command currently calls os.Exit()
on some error conditions.
This causes an abrupt termination of all uploads and task execution that are ongoing in parallel.
E.g. if a task uploaded it's artifact successfully but did not record the result in db yet, the result gets lost.
Terminate gracefully instead, drain the goroutine pools before terminating