You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
The purpose of this issue is to ensure that the ECS executor
returns any stdout and stderr printed by tasks using the mechanism defined in #1380. To do this, the run() implementation needs to
retrieves the stdout and stderr from the executor backend -- in the case of AWS Executors, by parsing Cloudwatch logs (see how Braket does this)
printing those strings to self.task_stdout and self.task_stderr.
distinguish task runtime exceptions -- those raised in the executor backend -- from other exceptions originating from the interaction of Covalent and the executor backend. This is explained in more detail in #1390. When an runtime exception occurs, the run() implementation should:
Retrieve whatever stdout and stderr messages have already been printed by the task
Ensure that the exception traceback is appended to the task's stderr.
Print stdout and stderr to self.task_stdout and self.task_stderr, respectively.
Note: These changes should be implemented in a backward-compatible manner -- so that the new AWSExecutors should work with Covalent 0.202.0post1 (the current stable AWSExecutors work with the latest develop).
Acceptance criteria:
Any stdout and stderr printed by a task before raising an unhandled exception is retrieved and printed to self.task_stdout and self.task_stderr respectively, where self is the executor plugin instance.
If a task raises an exception:
The traceback is included in the task’s stderr.
The run() method raises a TaskRuntimeError.
The executor plugin remains compatible with Covalent Core `0.202.0post1.
The text was updated successfully, but these errors were encountered:
The purpose of this issue is to ensure that the ECS executor
run()
implementation needs tostdout
andstderr
from the executor backend -- in the case of AWS Executors, by parsing Cloudwatch logs (see how Braket does this)self.task_stdout
andself.task_stderr
.run()
implementation should:stdout
andstderr
messages have already been printed by the taskstderr
.stdout
andstderr
toself.task_stdout
andself.task_stderr
, respectively.TaskRuntimeException
.For examples, see how the dask executor now deals with task runtime exceptions.
Note: These changes should be implemented in a backward-compatible manner -- so that the new AWSExecutors should work with Covalent 0.202.0post1 (the current stable AWSExecutors work with the latest develop).
Acceptance criteria:
self.task_stdout
andself.task_stderr
respectively, whereself
is the executor plugin instance.run()
method raises aTaskRuntimeError
.The text was updated successfully, but these errors were encountered: