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.