Skip to content

Image pull stream comes in batches, not one by one #67

@MartinMuzatko

Description

@MartinMuzatko

I noticed today, that using promisifyStream, the messages don't come one by one.
This makes it hard to parse and work on the JSON strings of pull messages.

It looks like this when .split('\r\n')

[ '{"status":"Pulling from library/hello-world","id":"latest"}' ]
[
  '{"status":"Pulling fs layer","progressDetail":{},"id":"1b930d010525"}'
]
[
  '{"status":"Downloading","progressDetail":{"current":473,"total":977},"progress":"[========================\\u003e                          ]     473B/977B","id":"1b930d010525"}',
  '{"status":"Downloading","progressDetail":{"current":977,"total":977},"progress":"[==================================================\\u003e]     977B/977B","id":"1b930d010525"}',
  '{"status":"Verifying Checksum","progressDetail":{},"id":"1b930d010525"}',
  '{"status":"Download complete","progressDetail":{},"id":"1b930d010525"}'
]
[
  '{"status":"Extracting","progressDetail":{"current":977,"total":977},"progress":"[==================================================\\u003e]     977B/977B","id":"1b930d010525"}',
  '{"status":"Extracting","progressDetail":{"current":977,"total":977},"progress":"[==================================================\\u003e]     977B/977B","id":"1b930d010525"}'
]
[
  '{"status":"Pull complete","progressDetail":{},"id":"1b930d010525"}'
]
[
  '{"status":"Digest: sha256:9572f7cdcee8591948c2963463447a53466950b3fc15a247fcad1917ca215a2f"}'
]
[
  '{"status":"Status: Downloaded newer image for hello-world:latest"}'
]

Is there a way to make the fn in stream.on('data', fn) only receive single objects?

Thanks in advance!

Metadata

Metadata

Assignees

No one assigned

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions