Class ProcessManagerBase
Inheritance
System.Object
ProcessManagerBase
Implements
System.IDisposable
Inherited Members
System.Object.Equals(System.Object)
System.Object.Equals(System.Object, System.Object)
System.Object.GetHashCode()
System.Object.GetType()
System.Object.MemberwiseClone()
System.Object.ReferenceEquals(System.Object, System.Object)
Assembly: Azos.Sky.dll
Syntax
public abstract class ProcessManagerBase : DaemonWithInstrumentation<IApplicationComponent>, IDaemon, IDaemonView, INamed, ILocalizedTimeProvider, IProcessManagerImplementation, IProcessManager, IApplicationComponent, IDisposable, IConfigurable, IInstrumentable, IExternallyParameterized
Constructors
ProcessManagerBase(IApplication)
Declaration
public ProcessManagerBase(IApplication app)
Parameters
Fields
CONFIG_PATH_ATTR
Declaration
public const string CONFIG_PATH_ATTR = "path"
Field Value
Type |
Description |
System.String |
|
CONFIG_PROCESS_MANAGER_SECTION
Declaration
public const string CONFIG_PROCESS_MANAGER_SECTION = "process-manager"
Field Value
Type |
Description |
System.String |
|
CONFIG_PROCESS_TYPE_RESOLVER_SECTION
Declaration
public const string CONFIG_PROCESS_TYPE_RESOLVER_SECTION = "process-type-resolver"
Field Value
Type |
Description |
System.String |
|
CONFIG_SEARCH_PARENT_ATTR
Declaration
public const string CONFIG_SEARCH_PARENT_ATTR = "search-parent"
Field Value
Type |
Description |
System.String |
|
CONFIG_SIGNAL_TYPE_RESOLVER_SECTION
Declaration
public const string CONFIG_SIGNAL_TYPE_RESOLVER_SECTION = "signal-type-resolver"
Field Value
Type |
Description |
System.String |
|
CONFIG_TODO_TYPE_RESOLVER_SECTION
Declaration
public const string CONFIG_TODO_TYPE_RESOLVER_SECTION = "todo-type-resolver"
Field Value
Type |
Description |
System.String |
|
CONFIG_TRANSCEND_NOC_ATTR
Declaration
public const string CONFIG_TRANSCEND_NOC_ATTR = "transcend-noc"
Field Value
Type |
Description |
System.String |
|
CONFIG_TYPE_GUID_ATTR
Declaration
public const string CONFIG_TYPE_GUID_ATTR = "type-guid"
Field Value
Type |
Description |
System.String |
|
Properties
App
Declaration
public ISkyApplication App { get; }
Property Value
ComponentLogTopic
Declaration
public override string ComponentLogTopic { get; }
Property Value
Type |
Description |
System.String |
|
Overrides
HostSets
Registry of all HostSets in the hub
Declaration
public IRegistry<HostSet> HostSets { get; }
Property Value
InstrumentationEnabled
Implements IInstrumentable
Declaration
[Config(Default = false)]
[ExternalParameter(new string[]{"locking", "instrumentation"})]
public override bool InstrumentationEnabled { get; set; }
Property Value
Type |
Description |
System.Boolean |
|
Overrides
Azos.Apps.DaemonWithInstrumentation<Azos.Apps.IApplicationComponent>.InstrumentationEnabled
ProcessTypeResolver
Declaration
public IGuidTypeResolver ProcessTypeResolver { get; }
Property Value
SignalTypeResolver
Declaration
public IGuidTypeResolver SignalTypeResolver { get; }
Property Value
TodoTypeResolver
Declaration
public IGuidTypeResolver TodoTypeResolver { get; }
Property Value
Methods
Allocate(String)
Declaration
public PID Allocate(string zonePath)
Parameters
Type |
Name |
Description |
System.String |
zonePath |
|
Returns
AllocateMutex(String, String)
Allocates PID by mutex. Mutexes are case-insensitive
Declaration
public PID AllocateMutex(string zonePath, string mutex)
Parameters
Type |
Name |
Description |
System.String |
zonePath |
|
System.String |
mutex |
|
Returns
Async_Dispatch(PID, IConfigSectionNode, Guid)
Declaration
public Task<ResultSignal> Async_Dispatch(PID pid, IConfigSectionNode args, Guid type)
Parameters
Returns
Async_Dispatch(PID, IConfigSectionNode, Type)
Declaration
public Task<ResultSignal> Async_Dispatch(PID pid, IConfigSectionNode args, Type type = null)
Parameters
Returns
Async_Dispatch<TSignal>(TSignal)
Declaration
public Task<ResultSignal> Async_Dispatch<TSignal>(TSignal signal)
where TSignal : Signal
Parameters
Type |
Name |
Description |
TSignal |
signal |
|
Returns
Type Parameters
Async_DoDispatch<TSignal>(TSignal)
Declaration
protected abstract Task<ResultSignal> Async_DoDispatch<TSignal>(TSignal signal)
where TSignal : Signal
Parameters
Type |
Name |
Description |
TSignal |
signal |
|
Returns
Type Parameters
Async_DoEnqueue<TTodo>(IEnumerable<TTodo>, HostSet, String)
Declaration
protected abstract Task<int> Async_DoEnqueue<TTodo>(IEnumerable<TTodo> todos, HostSet hs, string svcName)
where TTodo : Todo
Parameters
Type |
Name |
Description |
System.Collections.Generic.IEnumerable<TTodo> |
todos |
|
HostSet |
hs |
|
System.String |
svcName |
|
Returns
Type |
Description |
System.Threading.Tasks.Task<System.Int32> |
|
Type Parameters
Async_DoSpawn<TProcess>(TProcess)
Declaration
protected abstract Task Async_DoSpawn<TProcess>(TProcess process)
where TProcess : Process
Parameters
Type |
Name |
Description |
TProcess |
process |
|
Returns
Type |
Description |
System.Threading.Tasks.Task |
|
Type Parameters
Name |
Description |
TProcess |
|
Async_Enqueue(String, String, IConfigSectionNode, Guid)
Declaration
public Task Async_Enqueue(string hostSetName, string svcName, IConfigSectionNode args, Guid type)
Parameters
Type |
Name |
Description |
System.String |
hostSetName |
|
System.String |
svcName |
|
IConfigSectionNode |
args |
|
System.Guid |
type |
|
Returns
Type |
Description |
System.Threading.Tasks.Task |
|
Async_Enqueue(String, String, IConfigSectionNode, Type)
Declaration
public Task Async_Enqueue(string hostSetName, string svcName, IConfigSectionNode args, Type type = null)
Parameters
Type |
Name |
Description |
System.String |
hostSetName |
|
System.String |
svcName |
|
IConfigSectionNode |
args |
|
System.Type |
type |
|
Returns
Type |
Description |
System.Threading.Tasks.Task |
|
Async_Enqueue<TTodo>(TTodo, String, String)
Declaration
public Task Async_Enqueue<TTodo>(TTodo todo, string hostSetName, string svcName)
where TTodo : Todo
Parameters
Type |
Name |
Description |
TTodo |
todo |
|
System.String |
hostSetName |
|
System.String |
svcName |
|
Returns
Type |
Description |
System.Threading.Tasks.Task |
|
Type Parameters
Async_Enqueue<TTodo>(IEnumerable<TTodo>, String, String)
Declaration
public Task<int> Async_Enqueue<TTodo>(IEnumerable<TTodo> todos, string hostSetName, string svcName)
where TTodo : Todo
Parameters
Type |
Name |
Description |
System.Collections.Generic.IEnumerable<TTodo> |
todos |
|
System.String |
hostSetName |
|
System.String |
svcName |
|
Returns
Type |
Description |
System.Threading.Tasks.Task<System.Int32> |
|
Type Parameters
Async_Spawn(PID, IConfigSectionNode, Guid)
Declaration
public Task Async_Spawn(PID pid, IConfigSectionNode args, Guid type)
Parameters
Returns
Type |
Description |
System.Threading.Tasks.Task |
|
Async_Spawn(PID, IConfigSectionNode, Type)
Declaration
public Task Async_Spawn(PID pid, IConfigSectionNode args, Type type = null)
Parameters
Returns
Type |
Description |
System.Threading.Tasks.Task |
|
Async_Spawn<TProcess>(TProcess)
Declaration
public Task Async_Spawn<TProcess>(TProcess process)
where TProcess : Process
Parameters
Type |
Name |
Description |
TProcess |
process |
|
Returns
Type |
Description |
System.Threading.Tasks.Task |
|
Type Parameters
Name |
Description |
TProcess |
|
Destructor()
Declaration
protected override void Destructor()
Overrides
Dispatch(PID, IConfigSectionNode, Guid)
Declaration
public ResultSignal Dispatch(PID pid, IConfigSectionNode args, Guid type)
Parameters
Returns
Dispatch(PID, IConfigSectionNode, Type)
Declaration
public ResultSignal Dispatch(PID pid, IConfigSectionNode args, Type type = null)
Parameters
Returns
Dispatch<TSignal>(TSignal)
Declaration
public ResultSignal Dispatch<TSignal>(TSignal signal)
where TSignal : Signal
Parameters
Type |
Name |
Description |
TSignal |
signal |
|
Returns
Type Parameters
DoAllocate(String, String, Boolean)
Declaration
protected abstract PID DoAllocate(string zonePath, string id, bool isUnique)
Parameters
Type |
Name |
Description |
System.String |
zonePath |
|
System.String |
id |
|
System.Boolean |
isUnique |
|
Returns
Declaration
protected override void DoConfigure(IConfigSectionNode node)
Parameters
Overrides
DoDispatch<TSignal>(TSignal)
Declaration
protected abstract ResultSignal DoDispatch<TSignal>(TSignal signal)
where TSignal : Signal
Parameters
Type |
Name |
Description |
TSignal |
signal |
|
Returns
Type Parameters
DoEnqueue<TTodo>(IEnumerable<TTodo>, HostSet, String)
Declaration
protected abstract int DoEnqueue<TTodo>(IEnumerable<TTodo> todos, HostSet hs, string svcName)
where TTodo : Todo
Parameters
Type |
Name |
Description |
System.Collections.Generic.IEnumerable<TTodo> |
todos |
|
HostSet |
hs |
|
System.String |
svcName |
|
Returns
Type |
Description |
System.Int32 |
|
Type Parameters
DoGet<TProcess>(PID)
Declaration
protected abstract TProcess DoGet<TProcess>(PID pid)
where TProcess : Process
Parameters
Type |
Name |
Description |
PID |
pid |
|
Returns
Type |
Description |
TProcess |
|
Type Parameters
Name |
Description |
TProcess |
|
DoGetDescriptor(PID)
Declaration
protected abstract ProcessDescriptor DoGetDescriptor(PID pid)
Parameters
Type |
Name |
Description |
PID |
pid |
|
Returns
DoList(String, IConfigSectionNode)
Declaration
protected abstract IEnumerable<ProcessDescriptor> DoList(string zonePath, IConfigSectionNode filter)
Parameters
Returns
DoSpawn<TProcess>(TProcess)
Declaration
protected abstract void DoSpawn<TProcess>(TProcess process)
where TProcess : Process
Parameters
Type |
Name |
Description |
TProcess |
process |
|
Type Parameters
Name |
Description |
TProcess |
|
Enqueue(String, String, IConfigSectionNode, Guid)
Declaration
public void Enqueue(string hostSetName, string svcName, IConfigSectionNode args, Guid type)
Parameters
Type |
Name |
Description |
System.String |
hostSetName |
|
System.String |
svcName |
|
IConfigSectionNode |
args |
|
System.Guid |
type |
|
Enqueue(String, String, IConfigSectionNode, Type)
Declaration
public void Enqueue(string hostSetName, string svcName, IConfigSectionNode args, Type type = null)
Parameters
Type |
Name |
Description |
System.String |
hostSetName |
|
System.String |
svcName |
|
IConfigSectionNode |
args |
|
System.Type |
type |
|
Enqueue<TTodo>(TTodo, String, String)
Declaration
public void Enqueue<TTodo>(TTodo todo, string hostSetName, string svcName)
where TTodo : Todo
Parameters
Type |
Name |
Description |
TTodo |
todo |
|
System.String |
hostSetName |
|
System.String |
svcName |
|
Type Parameters
Enqueue<TTodo>(IEnumerable<TTodo>, String, String)
Declaration
public int Enqueue<TTodo>(IEnumerable<TTodo> todos, string hostSetName, string svcName)
where TTodo : Todo
Parameters
Type |
Name |
Description |
System.Collections.Generic.IEnumerable<TTodo> |
todos |
|
System.String |
hostSetName |
|
System.String |
svcName |
|
Returns
Type |
Description |
System.Int32 |
|
Type Parameters
Get<TProcess>(PID)
Declaration
public TProcess Get<TProcess>(PID pid)
where TProcess : Process
Parameters
Type |
Name |
Description |
PID |
pid |
|
Returns
Type |
Description |
TProcess |
|
Type Parameters
Name |
Description |
TProcess |
|
GetDescriptor(PID)
Declaration
public ProcessDescriptor GetDescriptor(PID pid)
Parameters
Type |
Name |
Description |
PID |
pid |
|
Returns
List(String, IConfigSectionNode)
Declaration
public IEnumerable<ProcessDescriptor> List(string zonePath, IConfigSectionNode filter = null)
Parameters
Returns
Spawn(PID, IConfigSectionNode, Guid)
Declaration
public void Spawn(PID pid, IConfigSectionNode args, Guid type)
Parameters
Spawn(PID, IConfigSectionNode, Type)
Declaration
public void Spawn(PID pid, IConfigSectionNode args, Type type = null)
Parameters
Spawn<TProcess>(TProcess)
Declaration
public void Spawn<TProcess>(TProcess process)
where TProcess : Process
Parameters
Type |
Name |
Description |
TProcess |
process |
|
Type Parameters
Name |
Description |
TProcess |
|
Implements
System.IDisposable
Extension Methods