Поделиться через


Метод QueueSystem.ReadJobStatusSimple

Получает сведения о состоянии указанного задания в очереди Project Server.

Пространство имен:  WebSvcQueueSystem
Сборка:  ProjectServerServices (в ProjectServerServices.dll)

Синтаксис

'Декларация
<SoapDocumentMethodAttribute("https://schemas.microsoft.com/office/project/server/webservices/QueueSystem/ReadJobStatusSimple", RequestNamespace := "https://schemas.microsoft.com/office/project/server/webservices/QueueSystem/",  _
    ResponseNamespace := "https://schemas.microsoft.com/office/project/server/webservices/QueueSystem/",  _
    Use := SoapBindingUse.Literal, ParameterStyle := SoapParameterStyle.Wrapped)> _
Public Function ReadJobStatusSimple ( _
    jobUIDs As Guid(), _
    includeWaitTime As Boolean _
) As QueueStatusDataSet
'Применение
Dim instance As QueueSystem
Dim jobUIDs As Guid()
Dim includeWaitTime As Boolean
Dim returnValue As QueueStatusDataSet

returnValue = instance.ReadJobStatusSimple(jobUIDs, _
    includeWaitTime)
[SoapDocumentMethodAttribute("https://schemas.microsoft.com/office/project/server/webservices/QueueSystem/ReadJobStatusSimple", RequestNamespace = "https://schemas.microsoft.com/office/project/server/webservices/QueueSystem/", 
    ResponseNamespace = "https://schemas.microsoft.com/office/project/server/webservices/QueueSystem/", 
    Use = SoapBindingUse.Literal, ParameterStyle = SoapParameterStyle.Wrapped)]
public QueueStatusDataSet ReadJobStatusSimple(
    Guid[] jobUIDs,
    bool includeWaitTime
)

Параметры

  • jobUIDs
    Тип: []

    Массив идентификаторов GUID заданиями в очереди.

  • includeWaitTime
    Тип: System.Boolean

    Если trueвключают время ожидания возложенных.

Возвращаемое значение

Тип: WebSvcQueueSystem.QueueStatusDataSet
Состояние запрошенного заданий с данными QueueStatusDataSet.StatusRow для каждого задания.

Замечания

ReadJobStatusSimple не используйте код трассировки для задания групп. Пример получения состояния всех заданий с таким же Идентификатором отслеживания в разделе ReadJobStatus.

Разрешения Project Server

Одно из следующих разрешений является обязательным.

Разрешение

Описание

Нестандартные

Текущий пользователь является владельцем задания.

ManageQueue

Позволяет пользователю управлять очередей Project Server. Глобальное разрешение.

Примеры

В следующем примере метод GetStatusOfQueueJobs находится в классе с именем QueueSystemUtilities. GetStatusOfQueueJobs является перегрузка то же имя метода, в примере для ReadJobStatus. QueueSystemWS не является произвольным именем QueueSystem веб-ссылку.

public WebSvcQueueSystem.QueueStatusDataSet GetStatusOfQueueJobs(
    WebSvcQueueSystem.QueueSystem q,
    Guid[] jobGuids,
    bool includeWaitTime)
{
    WebSvcQueueSystem.QueueStatusDataSet dsQStatus = 
        q.ReadJobStatusSimple(jobGuids, includeWaitTime);
    return dsQStatus;
}

Следующий фрагмент кода создает массив задания идентификаторов GUID для методов QueueCreateProject и QueuePublish , а затем вызывает GetStatusOfQueueJobs, который в свою очередь вызывает ReadJobStatusSimple.

using System.Threading;
using PSLibrary = Microsoft.Office.Project.Server.Library;
. . .
private static ProjectWS.Project project = 
            new ProjectWS.Project();
private static QueueSystemWS.QueueSystem queueSystem =
    new QueueSystemWS.QueueSystem(); 
private static QueueSystemUtils queueSystemUtils = new QueueSystemUtils();
. . .
ProjectWS.ProjectDataSet dsProject =
    new ProjectWS.ProjectDataSet();
ProjectWS.ProjectDataSet.ProjectRow projectRow =
    dsProject.Project.NewProjectRow();

Guid projectGuid = Guid.NewGuid();
projectRow.PROJ_UID = projectGuid;
projectRow.PROJ_NAME = this.txtProjectName.Text;
projectRow.PROJ_TYPE =
    Convert.ToInt32(PSLibrary.Project.ProjectType.Project);

dsProject.Project.AddProjectRow(projectRow);

// Create GUIDs for the queue job and for tracking multiple jobs.
Guid jobGuidCreateProject = Guid.NewGuid();
Guid trackingGuid = Guid.NewGuid();

bool validateOnly = false;
string queueStatus = "";
// Create and save project to the Draft database.

project.QueueCreateProject(jobGuidCreateProject, dsProject, validateOnly);
// Wait a few seconds, or create a WaitForQueue method.
Thread.Sleep(3000);

ProjectWS.ProjectRelationsDataSet dsProjectRelations =
    new ProjectWS.ProjectRelationsDataSet();
Guid jobGuidPublish = Guid.NewGuid();

string wssUrl = "" // Default SharePoint project workspace. 
bool fullPublish = true;

// Publish the project to the Published database.
dsProjectRelations = project.QueuePublish(jobGuidPublish, projectGuid, fullPublish, wssUrl);

Thread.Sleep(500);

Guid[] jobGuids = { jobGuidCreateProject, jobGuidPublish };

WebSvcQueueSystem.QueueStatusDataSet dsQStatus =
    queueSystemUtils.GetStatusOfQueueJobs(queueSystem, jobGuids, includeWaitTime);
. . .

В таблице QueueStatusDataSet.Status перечислены состояния всех заданий в массиве jobGuids . Ниже приведены некоторые поля в таблице Status после выполнения предыдущего кода.

Очередь

ИД

Сообщение

Тип

Задание

Завершение работы

State

Очередь

Должность (положение)

Процент

Полная

Очередь

Время занесения

Очередь

обработка;

Time

Очередь

Выполнено

Time

Wait

Time

1

22

4

-1

100

6/28/2011 г.

2:42 PM

6/28/2011 г.

2:42 PM

6/28/2011 г.

2:42 PM

0

1

24

1

4

0

6/28/2011 г.

2:42 PM

1

QueueMessageType 22 — ProjectCreate. Задание больше не находится в очереди; JobState 4 — Success.

QueueMessageType 24 — ProjectPublish. Задание четвертой в очередь; JobState 1 — ReadyForProcessing. Время ожидания ожидаемый является одной секунды.

См. также

Справочные материалы

QueueSystem класс

Элементы QueueSystem

Пространство имен WebSvcQueueSystem

ReadJobStatus

Другие ресурсы

How to: Use the QueueSystem Service