Skip to content

Provide a command line tool to run jobs #103

@hategan

Description

@hategan

Swift/T, and other non-python or shell based projects, in order to use PSI/J, would need a command-line interface to running jobs. This issue is here to discuss the requirements, come up with a design, and track the implementation.

  • an initial task would be to attempt to gather requirements from teams that are potential users of such a feature (@j-woz mentioned one such team).
  • an initial rough design is based on the idea that one needs to communicate a JobSpec (and properties) and executor + config from one process to the other; this would be done through some serialization mechanism, which could take the form of:
    • command line arguments (e.g., --spec.attributes.duration=...)
    • json
  • we talked about a sync vs async interface and concluded that the biggest benefit/cost ratio would be achieved with a sync implementation, since more complex projects would use higher level tooling; for reference:
    • sync here means run-job ... which exits when the job completes
    • async implies a set of tools, such as submit-job, cancel-job, job-status; there is considerably more complexity in implementing these, at least in layer 0 (basically these would roughly be a local version of layer 1)

Metadata

Metadata

Labels

enhancementNew feature or request

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions