Метод 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
Одно из следующих разрешений является обязательным.
Разрешение |
Описание |
---|---|
Нестандартные |
Текущий пользователь является владельцем задания. |
Позволяет пользователю управлять очередей 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. Время ожидания ожидаемый является одной секунды.
См. также
Справочные материалы
Пространство имен WebSvcQueueSystem