-
Notifications
You must be signed in to change notification settings - Fork 10
Introduction
This file provides you with the basic information needed to understand NetDist.
Here is a description of all the components needed to use NetDist.
This is the object which describes the values a client needs when executing the job.
This object contains all return values the client computed after it executed a job.
The handler is the "server logic" or better the job-generator and result-processor. It's function is, to generate jobs (by creating them for example from a database) and processing the results.
A handler has some basic settings (provided by NetDist) for scheduling, a name, distribution and so on. Those settings are in the handler settings. Also a handler might have some specific settings. These specific settings can be implemented in the custom handler settings.
The jobscript file is the file which has all information that is needed to load and instantiate a handler on the server and to distribute and execute the jobs on the client. In general, it's just a simple C# file which is compiled by the server and distributed to the clients. It consists of the following:
- HandlerInitializer
- JobScript
- JobScript meta
The handler initializer contains methods to fill the handler settings and the custom handler settings with individual values.
The jobscript describes the logic the client should run for a job. It creates a job input object and generates a job output object.
Since the job script files are just c# text files, there are some meta information that are needed on the server to correctly initialize the according handler. These are:
- Compiler libraries (libraries which are needed to compile the script)
- Dependencies (depencencies needed on the client when running a job)
- Package name the name of the package
A handler and/or a job script can have 3rd party dependencies (assemblies or other files). These files are also added to the server and a client can request one of those if needed.
The package is a collection of data to provide the server with everything to load and run handlers and to distribute and execute jobs. It consists of:
- Name of the package
- List of assembly-files where handler-logics are defined
- List of files for handler or client dependencies
This is a description of the applications which are needed to run NetDist.
The server is the application which loads the handlers and runs them.
The server admin is the application which allows administration of the server. It shows the status about all handlers and the clients connected to the server. It is needed to upload packages or job scripts, start and stop handlers and observing the system.
The client requests jobs from the server and completes them, sending the result back to the server.
Currently all the communication is implemented in Web Api. Other channels might be implemented later.