Beispiel #1
0
        /// <summary>
        /// Returns executions of items on queue <paramref name="queueId"/>
        /// with optional type of <paramref name="taskType"/> in state(s) <paramref name="taskStates"/>.
        /// </summary>
        /// <param name="queueId">The ID of the queue to query.</param>
        /// <param name="taskStates">The states to find tasks in.</param>
        /// <param name="taskType">The type of task to filter by</param>
        /// <typeparam name="TDirective">The type of directive used.</typeparam>
        /// <returns>Any matching executions.</returns>
        public IEnumerable <TaskInfo <TDirective> > GetExecutions <TDirective>
        (
            string queueId,
            string taskType = null,
            params MFTaskState[] taskStates
        )
            where TDirective : TaskDirective
        {
            var query = new TaskQuery();

            query.Queue(queueId);
            if (false == string.IsNullOrWhiteSpace(taskType))
            {
                query.TaskType(taskType);
            }
            query.TaskState(taskStates);

            return(query
                   .FindTasks <TDirective>(this));
        }