API

Julia entry points when you embed DistSSHKitQueue. Day-to-day work stays on the CLI (julia --project=. -m DistSSHKitQueue …); see Introduction, First Steps, and the User Guide. REPL help also works (?DistSSHKitQueue.submit!).

Submitters using DistSSHKitQueue. Queue-host code using DistSSHKit. Job files for Kit go still do not import DistSSHKit.

Prefer the CLI. From a client: qhost:HOST (not --hosts). Default hop: DISTSSHKITQUEUE_HOST. CLI submit uses follow_config; library submit! uses Queue(; allowed=…) unless follow_config=true. Config: ~/.distsshkitqueue/config.toml.

using DistSSHKitQueue

q = Queue(; store=default_store_path(), follow_config=true)
id = submit!(q, "SCRIPT.jl", "child:host1:4"; kind=:go)
cancel!(q, id)
serve!(q)

Types

DistSSHKitQueue.DistSSHKitQueueModule

DistSSHKitQueue — FIFO waiter for DistSSHKit (go / drive).

Package entry: exports, includes, main (@main on Julia 1.12+). FIFO: src/DistSSHKitQueue/. Client CLI: src/client/. Queue host CLI: src/qhost/. Waiter runs DistSSHKit execute!(...; detached=true). --project=<queue-env> loads this package; the job tree is job_project(). Config: ~/.distsshkitqueue/config.toml.

Concept: docs.

source
DistSSHKitQueue.JobType

One table row. hosts are DistSSHKit 0.4 tokens (parent[:N] / child:NAME[:N]). kwargs is an opaque bag for DistSSHKit execute! (project is the job tree).

source

Enqueue and cancel

DistSSHKitQueue.submit!Function

Enqueue. kind=:go or :drive (DistSSHKit execute!).

hosts must be DistSSHKit 0.4 placement tokens (parent[:N] / child:NAME[:N]). Missing project uses job_project() (cwd / DISTRIBUTED_PROJECT_ROOT), not the waiter env (enable --queue-env / Julia --project= that loaded Queue). Same verb as CLI submit.

q.allowed is the inventory (Queue(; allowed=…)), names plus optional max :N. It does not read config.toml. CLI submit uses Queue(; follow_config=true) so each enqueue re-reads hosts without restarting serve. step! does not drop :queued rows when a name is later removed, and does not stop a Kit job that is already :running.

source

Table

Waiter

DistSSHKitQueue.serve!Function

Load store (stale :running:failed), then step! until interrupt. Ctrl-C stops the waiter, not Kit.

A second serve on the same store prints Already running and returns.

source

Paths

DistSSHKitQueue.job_projectFunction

Kit job tree: DISTRIBUTED_PROJECT_ROOT, else the Project.toml above cwd, else cwd.

Not the Julia --project= that loaded DistSSHKitQueue.

source

default_store_path() is ~/.distsshkitqueue/jobs.toml. The waiter calls DistSSHKit execute!(…; detached=true, job_id=…).