Follow a command's output
The output as events, from any position, to the command's end. Wakes the sandbox once, to get what there is (not for an id the sandbox does not have). After that an open stream keeps nothing awake, and goes on by itself when the sandbox next runs (a sandbox moved to another node meanwhile ends it with the error event sandbox_moved, after which the same stream through the control plane, with Last-Event-ID, goes on there); with wait=true the reader is somebody waiting for the command, and the sandbox stays awake for as long as the stream is open.
As a stream (text/event-stream): its events are stdout, stderr, gap, exit, end and error: Event streams and terminals.
Takes exec, or a token of the sandbox with exec.
https://api.glac.ai/v1/sandboxes/{id}/exec/{exec_id}/output認証
パスパラメーター
クエリパラメーター
- wait_for_readeroptionalboolean
true: the command waits for this reader, as for arunCommandwithwait_for_reader: it gets no more than 2 MiB of output ahead of what this stream has sent, and nothing is let go of unread. One reader at a time is waited for, the last that asked; when it leaves, the command waits 10 seconds for the next. For the reader that started the command so and picks its stream up again after a lost connection (the SSH gateway, whose sessions outlive a restart of the node's daemon): without it the command runs on as one nobody waits for, keeping the last 16 MiB of its output.default: false
ヘッダーパラメーター
Returns
200
The stream.
400
The request is not one this call takes. unknown_parameter: the query has a parameter this call does not take; invalid_field: a field or query parameter has the wrong type or is out of range.
- exec_idoptionalstring
With
sandbox_movedofPOST …/run: the id of the command the call started and waited for, which goes on where the sandbox went: wait for it there through the control plane withGET …/exec/{exec_id}?wait_seconds=once the move is over. The same call made again starts the command a second time, unless it comes with the same Idempotency-Key.
401
missing_api_key, invalid_api_key, expired_api_key, invalid_token.
403
The credential may not do this. token_scope: the sandbox token lacks the scope. spend_limit_reached: the sandbox is frozen because a spend limit was reached; it sleeps, with its data, until the limit is raised.
- exec_idoptionalstring
With
sandbox_movedofPOST …/run: the id of the command the call started and waited for, which goes on where the sandbox went: wait for it there through the control plane withGET …/exec/{exec_id}?wait_seconds=once the move is over. The same call made again starts the command a second time, unless it comes with the same Idempotency-Key.
404
Something the request names does not exist. sandbox_not_found: no such sandbox; exec_not_found: no such command in the sandbox.
- exec_idoptionalstring
With
sandbox_movedofPOST …/run: the id of the command the call started and waited for, which goes on where the sandbox went: wait for it there through the control plane withGET …/exec/{exec_id}?wait_seconds=once the move is over. The same call made again starts the command a second time, unless it comes with the same Idempotency-Key.
409
The state of something stands in the way. sandbox_failed: the sandbox is failed.
- exec_idoptionalstring
With
sandbox_movedofPOST …/run: the id of the command the call started and waited for, which goes on where the sandbox went: wait for it there through the control plane withGET …/exec/{exec_id}?wait_seconds=once the move is over. The same call made again starts the command a second time, unless it comes with the same Idempotency-Key.
default
Any other failure, in the same shape. internal (500): the node failed; the message says no more, and the node's log has the reason under the request's id. unavailable (503, retryable): no_capacity, every network slot of the node is in use; memory_full, a machine the call has to start (made, woken, booted from its disk, resumed, rolled back, built) does not fit in the host's memory beside what the machines that run on it are promised, and nothing paused or idle could be put to sleep to make room for it (memory of the node); drive_full, the call would have a template built and the node's data drive has no room for one (drive of the node); unavailable, the node is shutting down, the sandbox was still starting after 10 minutes, or it did not answer, or it is being moved to this node (with Retry-After: 1); fenced, the node's lease fences the sandbox (Node.lease). moved (409): the sandbox was moved to another node, which to names.
- exec_idoptionalstring
With
sandbox_movedofPOST …/run: the id of the command the call started and waited for, which goes on where the sandbox went: wait for it there through the control plane withGET …/exec/{exec_id}?wait_seconds=once the move is over. The same call made again starts the command a second time, unless it comes with the same Idempotency-Key.