potiuk commented on a change in pull request #5137: Add try-catch for
retrieving `status` from cli in docker operator
URL: https://github.com/apache/airflow/pull/5137#discussion_r277043018
##########
File path: airflow/operators/docker_operator.py
##########
@@ -198,9 +198,21 @@ def execute(self, context):
if self.force_pull or len(self.cli.images(name=self.image)) == 0:
self.log.info('Pulling docker image %s', self.image)
for l in self.cli.pull(self.image, stream=True):
- output = json.loads(l.decode('utf-8').strip())
- if 'status' in output:
- self.log.info("%s", output['status'])
+ try:
Review comment:
I think it would be much simpler to use "decode=True" parameter with pull
method. I presume it already does a very good job of converting json into
dictionaries even in case result is a json array.
See the
https://docker-py.readthedocs.io/en/stable/api.html#docker.api.image.ImageApiMixin.pull
which includes an example with decode=True.
----------------------------------------------------------------
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
For queries about this service, please contact Infrastructure at:
[email protected]
With regards,
Apache Git Services