Servers
DFControl
is structure as a client-server architecture where the communication happens through a rest-API. This means that on the server-side a small daemon will run that the client will communicate with in order to load
, save
and submit
Jobs
. There are three ways to set up a server. To setup a local server, simply call Servers.configure_local
and follow the prompt. A Server
can also be setup by calling the constructor with a String
that signifies the name of the Server
, e.g. "localhost"
, or an ssh
string such as "user@domain"
, which will prompt an interactive setup menu.
Alternatively, for full customization, a Server
can be set up by filling out the constructor, and saving it as save(server)
. A previously saved Server
can be loaded again through e.g. Server("localhost")
which will retrieve the previously saved configuration.
DFControl.Servers.Server
— TypeServer(name::String, username::String, domain::String, port::Int, scheduler::Scheduler, mountpoint::String,
julia_exec::String, root_jobdir::String, local_port::Int, max_concurrent_jobs::Int)
Server(name::String)
A Server
represents a remote daemon that has the label name
. It runs on the server defined by username
and domain
. The requirement is that ssh
is set up in such a way that ssh username@domain
is possible, i.e. ssh-copy-id must have been used to not require passwords while executing ssh
commands.
The daemon will listen to the port
for http requests and if local_port
is specified, a tunnel will be created to guarantee a connection. This is useful in the case that the login node on the remote server can change.
Calling Server
with a single String
will either load the configuration that was previously saved with that label, or go through an interactive setup of a new server.
DFControl.Servers.configure_local
— Functionconfigure_local()
Runs through interactive configuration of the local Server
.
DFControl.Servers.start
— Functionstart(s::Server)
Launches the daemon process on the host Server
s
.
DFControl.Database.save
— Methodsave([server::Server], e::Environment)
save([server::Server], e::Exec)
save([server::Server], s::Server)
Saves an item to the database of server
. If server
is not specified the item will be stored in the local database.