Class TodoQueue
  
  Represents a Named Queue instance
    Inheritance
    System.Object
    
    
    TodoQueue
   
  
    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 sealed class TodoQueue : ApplicationComponent, IDisposable, IApplicationComponent, INamed, IInstrumentable, IExternallyParameterized
   
  Fields
  
  DEFAULT_ACQUIRE_TIMEOUT_SEC
  
  
  Declaration
  
    public const int DEFAULT_ACQUIRE_TIMEOUT_SEC = 420
   
  Field Value
  
    
      
        | Type | Description | 
    
    
      
        | System.Int32 |  | 
    
  
  DEFAULT_BATCH_SIZE
  
  
  Declaration
  
    public const int DEFAULT_BATCH_SIZE = 32
   
  Field Value
  
    
      
        | Type | Description | 
    
    
      
        | System.Int32 |  | 
    
  
  MAX_BATCH_SIZE
  
  
  Declaration
  
    public const int MAX_BATCH_SIZE = 1024
   
  Field Value
  
    
      
        | Type | Description | 
    
    
      
        | System.Int32 |  | 
    
  
  MIN_ACQUIRE_TIMEOUT_SEC
  
  
  Declaration
  
    public const int MIN_ACQUIRE_TIMEOUT_SEC = 60
   
  Field Value
  
    
      
        | Type | Description | 
    
    
      
        | System.Int32 |  | 
    
  
  Properties
  
  
  Acquired
  True when queue is acquired by processing quanta
Declaration
  
    public bool Acquired { get; }
   
  Property Value
  
    
      
        | Type | Description | 
    
    
      
        | System.Boolean |  | 
    
  
  
  AcquireDateUTC
  When was queue acquired for the last time - used for timeout
Declaration
  
    public DateTime? AcquireDateUTC { get; }
   
  Property Value
  
    
      
        | Type | Description | 
    
    
      
        | System.Nullable<System.DateTime> |  | 
    
  
  
  AcquireTimeoutSec
  Specifies the timeout for queue acquisition. The queue is acquired every time
a processing quantum starts. If processing stalls for some reason (e.g. long sequential todo) then
queue is acquired anyway after timeout expires. The timeout must work in conjunction with BatchSize
to ensure that during normal operation it never happens, because sequential processing order is
not guaranteed when queue times-out
Declaration
  
    [Config(Default = 420)]
public int AcquireTimeoutSec { get; }
   
  Property Value
  
    
      
        | Type | Description | 
    
    
      
        | System.Int32 |  | 
    
  
  
  BatchSize
  Specifies the size of one processing quantum in todo instance count
Declaration
  
    [Config(Default = 32)]
public int BatchSize { get; }
   
  Property Value
  
    
      
        | Type | Description | 
    
    
      
        | System.Int32 |  | 
    
  
  
  ComponentLogTopic
  
  
  Declaration
  
    public override string ComponentLogTopic { get; }
   
  Property Value
  
    
      
        | Type | Description | 
    
    
      
        | System.String |  | 
    
  
  Overrides
  
  
  DuplicationHandling
  Specifies how this queue handles duplicate Todo submissions
Declaration
  
    public TodoQueue.DuplicationHandlingMode DuplicationHandling { get; }
   
  Property Value
  
  
  ExternalParameters
  Returns named parameters that can be used to control this component
Declaration
  
    public IEnumerable<KeyValuePair<string, Type>> ExternalParameters { get; }
   
  Property Value
  
    
      
        | Type | Description | 
    
    
      
        | System.Collections.Generic.IEnumerable<System.Collections.Generic.KeyValuePair<System.String, System.Type>> |  | 
    
  
  
  InstrumentationEnabled
  
  
  Declaration
  
    [Config(Default = false)]
[ExternalParameter(new string[]{"data", "instrumentation"})]
public bool InstrumentationEnabled { get; set; }
   
  Property Value
  
    
      
        | Type | Description | 
    
    
      
        | System.Boolean |  | 
    
  
  
  Mode
  Denotes mode of execution: sequential, parallel or ParallelByKey
Declaration
  
    public TodoQueue.ExecuteMode Mode { get; }
   
  Property Value
  
  
  Name
  
  
  Declaration
  
    public string Name { get; }
   
  Property Value
  
    
      
        | Type | Description | 
    
    
      
        | System.String |  | 
    
  
  
  QueueService
  References service that this queue is under
Declaration
  
    public TodoQueueService QueueService { get; }
   
  Property Value
  
  Methods
  
  
  ExternalGetParameter(String, out Object, String[])
  Gets external parameter value returning true if parameter was found
Declaration
  
    public bool ExternalGetParameter(string name, out object value, params string[] groups)
   
  Parameters
  
    
      
        | Type | Name | Description | 
    
    
      
        | System.String | name |  | 
      
        | System.Object | value |  | 
      
        | System.String[] | groups |  | 
    
  
  Returns
  
    
      
        | Type | Description | 
    
    
      
        | System.Boolean |  | 
    
  
  
  ExternalParametersForGroups(String[])
  Returns named parameters that can be used to control this component
Declaration
  
    public IEnumerable<KeyValuePair<string, Type>> ExternalParametersForGroups(params string[] groups)
   
  Parameters
  
    
      
        | Type | Name | Description | 
    
    
      
        | System.String[] | groups |  | 
    
  
  Returns
  
    
      
        | Type | Description | 
    
    
      
        | System.Collections.Generic.IEnumerable<System.Collections.Generic.KeyValuePair<System.String, System.Type>> |  | 
    
  
  
  ExternalSetParameter(String, Object, String[])
  Sets external parameter value returning true if parameter was found and set
Declaration
  
    public bool ExternalSetParameter(string name, object value, params string[] groups)
   
  Parameters
  
    
      
        | Type | Name | Description | 
    
    
      
        | System.String | name |  | 
      
        | System.Object | value |  | 
      
        | System.String[] | groups |  | 
    
  
  Returns
  
    
      
        | Type | Description | 
    
    
      
        | System.Boolean |  | 
    
  
  
  ToString()
  
  
  Declaration
  
    public override string ToString()
   
  Returns
  
    
      
        | Type | Description | 
    
    
      
        | System.String |  | 
    
  
  Overrides
  
  Implements
  
      System.IDisposable
  
  
  
  
  
  Extension Methods