Batch: Make available logStreamName key when a job is running (#5539)
This commit is contained in:
parent
3adf4ff08a
commit
7ea655a621
@ -467,6 +467,7 @@ class Job(threading.Thread, BaseModel, DockerModel, ManagedState):
|
|||||||
self._log_backend = log_backend
|
self._log_backend = log_backend
|
||||||
self.log_stream_name = None
|
self.log_stream_name = None
|
||||||
|
|
||||||
|
self.container_details = {}
|
||||||
self.attempts = []
|
self.attempts = []
|
||||||
self.latest_attempt = None
|
self.latest_attempt = None
|
||||||
|
|
||||||
@ -492,24 +493,9 @@ class Job(threading.Thread, BaseModel, DockerModel, ManagedState):
|
|||||||
result = self.describe_short()
|
result = self.describe_short()
|
||||||
result["jobQueue"] = self.job_queue.arn
|
result["jobQueue"] = self.job_queue.arn
|
||||||
result["dependsOn"] = self.depends_on if self.depends_on else []
|
result["dependsOn"] = self.depends_on if self.depends_on else []
|
||||||
|
result["container"] = self.container_details
|
||||||
if self.job_stopped:
|
if self.job_stopped:
|
||||||
result["stoppedAt"] = datetime2int_milliseconds(self.job_stopped_at)
|
result["stoppedAt"] = datetime2int_milliseconds(self.job_stopped_at)
|
||||||
result["container"] = {}
|
|
||||||
result["container"]["command"] = self._get_container_property("command", [])
|
|
||||||
result["container"]["privileged"] = self._get_container_property(
|
|
||||||
"privileged", False
|
|
||||||
)
|
|
||||||
result["container"][
|
|
||||||
"readonlyRootFilesystem"
|
|
||||||
] = self._get_container_property("readonlyRootFilesystem", False)
|
|
||||||
result["container"]["ulimits"] = self._get_container_property("ulimits", {})
|
|
||||||
result["container"]["vcpus"] = self._get_container_property("vcpus", 1)
|
|
||||||
result["container"]["memory"] = self._get_container_property("memory", 512)
|
|
||||||
result["container"]["volumes"] = self._get_container_property("volumes", [])
|
|
||||||
result["container"]["environment"] = self._get_container_property(
|
|
||||||
"environment", []
|
|
||||||
)
|
|
||||||
result["container"]["logStreamName"] = self.log_stream_name
|
|
||||||
if self.timeout:
|
if self.timeout:
|
||||||
result["timeout"] = self.timeout
|
result["timeout"] = self.timeout
|
||||||
result["attempts"] = self.attempts
|
result["attempts"] = self.attempts
|
||||||
@ -610,6 +596,29 @@ class Job(threading.Thread, BaseModel, DockerModel, ManagedState):
|
|||||||
# TODO setup ecs container instance
|
# TODO setup ecs container instance
|
||||||
|
|
||||||
self.job_started_at = datetime.datetime.now()
|
self.job_started_at = datetime.datetime.now()
|
||||||
|
|
||||||
|
self.container_details["command"] = self._get_container_property(
|
||||||
|
"command", []
|
||||||
|
)
|
||||||
|
self.container_details["privileged"] = self._get_container_property(
|
||||||
|
"privileged", False
|
||||||
|
)
|
||||||
|
self.container_details[
|
||||||
|
"readonlyRootFilesystem"
|
||||||
|
] = self._get_container_property("readonlyRootFilesystem", False)
|
||||||
|
self.container_details["ulimits"] = self._get_container_property(
|
||||||
|
"ulimits", {}
|
||||||
|
)
|
||||||
|
self.container_details["vcpus"] = self._get_container_property("vcpus", 1)
|
||||||
|
self.container_details["memory"] = self._get_container_property(
|
||||||
|
"memory", 512
|
||||||
|
)
|
||||||
|
self.container_details["volumes"] = self._get_container_property(
|
||||||
|
"volumes", []
|
||||||
|
)
|
||||||
|
self.container_details["environment"] = self._get_container_property(
|
||||||
|
"environment", []
|
||||||
|
)
|
||||||
self._start_attempt()
|
self._start_attempt()
|
||||||
|
|
||||||
# add host.docker.internal host on linux to emulate Mac + Windows behavior
|
# add host.docker.internal host on linux to emulate Mac + Windows behavior
|
||||||
@ -728,6 +737,8 @@ class Job(threading.Thread, BaseModel, DockerModel, ManagedState):
|
|||||||
self._log_backend.create_log_stream(log_group, stream_name)
|
self._log_backend.create_log_stream(log_group, stream_name)
|
||||||
self._log_backend.put_log_events(log_group, stream_name, logs)
|
self._log_backend.put_log_events(log_group, stream_name, logs)
|
||||||
|
|
||||||
|
self.container_details["logStreamName"] = self.log_stream_name
|
||||||
|
|
||||||
result = container.wait() or {}
|
result = container.wait() or {}
|
||||||
self.exit_code = result.get("StatusCode", 0)
|
self.exit_code = result.get("StatusCode", 0)
|
||||||
job_failed = self.stop or self.exit_code > 0
|
job_failed = self.stop or self.exit_code > 0
|
||||||
|
Loading…
Reference in New Issue
Block a user