-
Notifications
You must be signed in to change notification settings - Fork 10
Home
NetDist is a ready-to-use distribution system for .net. The main idea behind it is, that there are job-generators which generate jobs (for example from a database) and those jobs are processed by clients which then send the result back to the server who then processes the result. The handlers and the jobs can be added / modified on runtime without restarting the application.
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. 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