Skip to main content

Module environment_runs

Module environment_runs 

Expand description

Running a workspace’s shell commands on the member device that takes its work (docs/app-model/environments.md, “Members that take work”).

A workspace whose host serves it has no device of the person’s to run its Terminal sessions. A member device with the take-work appetite does instead: it holds the workspace and its files, and runs a session’s command line there, a Linux program in the workspace’s own VM when it needs one. The host asks it over the device plane, as the device it is, the way any device of a workspace asks another:

  • target names the run, an action of the workspace’s environment (RESOURCE); the argument is a RunCommand.
  • While the command runs, each InvocationUpdate::Item is a RunOutput: everything printed so far, up to its last LIVE_TAIL bytes, and how much that is in all, so a follower that missed an update shows what is there now and never a gap.
  • It succeeds with a CommandRan, whatever the command’s exit status: the run happened. A refusal the program needed a VM for comes back typed, for the shell’s words to the person or agent who ran it.
  • It can be stopped: a cancel of the invocation ends the command in the session’s shell, and the CommandRan says it was (cancelled).

Only the workspace’s host may ask, as a device of the operator the member’s own identity belongs to: a run is paid for by the account the request names, which only the host knows.

Structs§

CommandRan
How one command line went.
RunCommand
One command line to run in one session’s shell of a workspace.
RunOutput
What a running command printed so far.

Constants§

LIVE_TAIL
The most of a running command’s output one live update carries.
PROVIDER
The provider the taking member answers runs under.
RESOURCE
The resource a run is an action of: the workspace’s environment.
RUN
Run one command line in a session’s shell.

Functions§

target
What RUN is invoked on.