Method | Description | |
---|---|---|
QueueMonitor ( ) : System |
Ctor. Creates and consumes a new {RedisQueueClient} instance.
|
|
QueueMonitor ( |
Ctor. Requires a {RedisQueueClient} instance.
|
|
SignalNewTasksArrived ( ) : void |
Lets the main process know that more tasks are available.
|
|
Start ( ) : void |
The main work method, signalling the monitor to start observing the queue defined in configuration.
|
|
Stop ( ) : void |
Method | Description | |
---|---|---|
Run ( ) : void |
The main monitor run method. What it does is try to reserve a task and dispatch it in a separate application domain. A couple of notes follow: AppDomain load / unload policy The current policy is pretty straightforward. As long as the monitor finds tasks in the queue, it will re-use the application domain. As soon as the queue is empty, it will attempt to unload the application domain. Stuck tasks ...will currently hang the service. Probable TODO: Monitor the AppDomain and kill / fail stuck tasks.
|
Method | Description | |
---|---|---|
initAppDomain ( ) : void | ||
releaseAppDomain ( ) : bool | ||
resolvePath ( string workerAssemblyPath ) : string |
public QueueMonitor ( |
||
queue | ||
return | System |