madecoste / swarming

Automatically exported from code.google.com/p/swarming
Apache License 2.0
0 stars 1 forks source link

Switch stdout streaming from HTTP JSON /task_update to HTTP PUT Content-Range #152

Closed GoogleCodeExporter closed 9 years ago

GoogleCodeExporter commented 9 years ago
The advantage is that each command stdout stream becomes much more HTTP 
standard and less swarming api specific.

For example on gdata docs; 
https://developers.google.com/gdata/docs/resumable_upload#Upload

So the endpoints could look like:
/swarming/api/v1/bot/task/<task_id>/command/<command_id>/output
where chunked PUTs would be sent there.

This actually make the bot API more complex so it's not obvious if it is a 
gain. On the other hand it makes it easier to stream to an arbitrary URL.

This issue is filed as an RFC.

Original issue reported on code.google.com by maruel@chromium.org on 8 Sep 2014 at 1:40

GoogleCodeExporter commented 9 years ago
I'll repeat my opinion: infra team is working on streaming solution that is 
more robust in terms of scale and long term cost (it's based on much more 
cheaper Google Storage, not Datastore). So I don't think Swarming log streaming 
should be very fancy. I don't think it's wise to spend time on adding fanciness.

(adding to CC people working on log streaming)

Original comment by vadimsh@chromium.org on 8 Sep 2014 at 9:03

GoogleCodeExporter commented 9 years ago
This was worked out differently by using a chunk_start index and encoding the 
data as base64 so it wouldn't throw when included as a json string.

Original comment by maruel@chromium.org on 9 Jan 2015 at 7:56