ARIA-156 Better handle exceptions in the process executor 122/head
authorAvia Efrat <avia@gigaspaces.com>
Sun, 7 May 2017 08:42:58 +0000 (11:42 +0300)
committerAvia Efrat <avia@gigaspaces.com>
Sun, 7 May 2017 11:44:01 +0000 (14:44 +0300)
commit1cb3086f38bc35a6a5e588aa5e340cb4fa5cacf5
tree501700860e4b066eedee82e225268b4d05517858
parent85539771c09ec34126fd03960ac3d242f226ddeb
ARIA-156 Better handle exceptions in the process executor

Previously, if an exception was raised during the starting of a task,
the task's process was permanently blocked on receiving a message.

The reason was that the exception caused the 'listener thread' to
not send a response to the task's process, as the exception was not
handled inside the 'with' block of the listener thread.

The first change I introduced was to wrap the yielding of the message and
the response inside a try-except-finally block, so the exception will be
handled within the 'with' scope, and to ensure a response is sent to the
task's process.

The second change is to move the sending of the 'task started' message in
the task's process to a place where encountering an exception will be
handled via sending a 'task failed' message back to the listener thread.
aria/orchestrator/workflows/executor/process.py