Details
-
New Feature
-
Status: Resolved
-
P3
-
Resolution: Done
-
None
Description
Go context usage
As a maintainer,
I want to be able to control all goroutines using the Go context.
Acceptance criteria:
1. Context with Deadline is provided for the executor processes
Scenario: Pipeline was stuck
Given: User sent RunCode request
When: Server compiled code
And: Server ran compiled code
And: Code didn't complete in deadline time
Then: All executor processes is cancel
And: All resources cleaned up
And: Pipeline status changed to failed
And: Correspondent error retrieved to the client (through cache)
2. Context with cancelation is provided for the executor processes
Scenario: User closed Playground
Given: User sent RunCode request
When: Server compiled code
And: Server ran compiled code
And: Client closed Playground page
Then: All executor processes is cancel
And: All resources cleaned up
And: Pipeline status changed to failed
And: Correspondent error put to cache.