Prajna


JobDependencies

Remote execution roster, which contains a list of file (dlls, data, environment variables) that is required for the job

Constructors

ConstructorDescription
new()
Signature: unit -> JobDependencies

Instance members

Instance memberDescription
Add(locals)
Signature: (locals:string []) -> unit

Add a list of mapped file between remote and local. The remote file will be under the current JobDirectory, with the same file name and extension of the local file (the path of the local file is ignored).

AddDataDirectory(dirname)
Signature: dirname:string -> string

Add all data files in the directory for remote execution. The program/service that is executed remote should use remote prefix to access the data file.

AddDataDirectory(dirname, searchPattern)
Signature: (dirname:string * searchPattern:string) -> string

Add all data files in the current directory for remote execution. The program/service that is executed remote should use remote prefix to access the data file.

AddDataDirectory(...)
Signature: (dirname:string * searchPattern:string * searchOption:SearchOption) -> string

Add all data files in the directory for remote execution. The program/service that is executed remote should use remote prefix to access the data file.

AddDataDirectoryWithPrefix(...)
Signature: (prefix:string * dirname:string * altname:string * searchPattern:string * searchOption:SearchOption) -> string

Add all data files in the directory for remote execution. The program/service that is executed remote should use remote prefix to access the data file.

AddEnvVars(envvar, value)
Signature: (envvar:string * value:string) -> unit

Additional Environmental setting required by the remote container It will be used to set ProcessStartInfo.EnvironmentVariables during the launch of the remote container

AddLocalRemote(dep)
Signature: (dep:(string * string)) -> unit

Add a mapped file between remote and local. The first item of the tuple is the local file, and the second item of the tuple is the remote file name. The local file will be sent to remote file during the launch of the remote container.

AddRefAssem(bAddPdb)
Signature: bAddPdb:bool -> unit

Add referenced assemblies of the current program into dependency. The remote assembly will be located under current JobDirectory. If bAddPdb flag is true, PDB file is added to the remote JobDirectory too.

AddTo(deps)
Signature: (deps:(string * string) []) -> unit

Add a list of mapped file between remote and local. The first item of each tuple is the local file, and the second item of each tuple is the remote file name. The local file will be sent to remote file during the launch of the remote container.

EnvVars
Signature: List<string * string>

Additional Environmental setting required by the remote container It will be used to set ProcessStartInfo.EnvironmentVariables during the launch of the remote container

InstallDeserializer(...)
Signature: (id:Guid * decodeFunc:(Stream -> 'Type) * bAllowReplicate:bool) -> unit
Type parameters: 'Type

Install a customized deserializer, with a unique GUID that identified the use of the deserializer in the bytestream.

InstallDeserializerDelegate(...)
Signature: (id:Guid * fulltypename:string * del:CustomizedDeserializerFunction * bAllowReplicate:bool) -> unit

InstallDeserializerDelegate allows language other than F# to install its own type deserialization implementation.

InstallMemoryManager(...)
Signature: (id:Guid * allocFunc:(unit -> 'Type) * preallocFunc:(int -> unit) * bAllowReplicate:bool) -> unit
Type parameters: 'Type

Install a customized Memory Manager.

InstallSerializer(...)
Signature: (id:Guid * encodeFunc:('Type * Stream -> unit) * bAllowReplicate:bool) -> unit
Type parameters: 'Type

Install a customized serializer, with a unique GUID that identified the use of the serializer in the bytestream.

InstallSerializerDelegate(...)
Signature: (id:Guid * fulltypename:string * del:CustomizedSerializerAction * bAllowReplicate:bool) -> unit

InstallSerializerDelegate allows language other than F# to install its own type serialization implementation.

JobDirectory()
Signature: unit -> string

Job Directory of the remote container

JobDirectory()
Signature: unit -> unit

Job Directory of the remote container

JobName()
Signature: unit -> string

Remote container name

JobName()
Signature: unit -> unit

Remote container name

SetJobPort(port)
Signature: port:uint16 -> unit

Set Job to use a certain port

Static members

Static memberDescription
Current()
Signature: unit -> JobDependencies

Current execution roster

Current()
Signature: unit -> unit

Current execution roster

DefaultTypeOfJobMask()
Signature: unit -> JobTaskKind

Remote container execute mode control

DefaultTypeOfJobMask()
Signature: unit -> unit

Remote container execute mode control

InstallDeserializer(id, decodeFunc)
Signature: (id:Guid * decodeFunc:(Stream -> 'Type)) -> unit
Type parameters: 'Type

Install a customized deserializer, with a unique GUID that identified the use of the deserializer in the bytestream.

InstallDeserializerDelegate(...)
Signature: (id:Guid * fulltypename:string * del:CustomizedDeserializerFunction) -> unit

InstallDeserializerDelegate allows language other than F# to install its own type deserialization implementation.

InstallSerializer(id, encodeFunc)
Signature: (id:Guid * encodeFunc:('Type * Stream -> unit)) -> unit
Type parameters: 'Type

Install a customized serializer, with a unique GUID that identified the use of the serializer in the bytestream.

InstallSerializerDelegate(...)
Signature: (id:Guid * fulltypename:string * del:CustomizedSerializerAction) -> unit

InstallSerializerDelegate allows language other than F# to install its own type serialization implementation.

setCurrentJob(jobName)
Signature: jobName:string -> JobDependencies

Assign a name to the remote container, All services & data analytical jobs with the same jobName will be put into the same container for execution, and calling between services and/or data analytical jobs within the container is a native functional call.

Fork me on GitHub