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.ServerType
Server(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.

source
DFControl.Database.saveMethod
save([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.

source