QueueSystem.ReadJobStatusSimple-Methode
Ruft Statusinformationen zum angegebenen Aufträge in der Project Server-Warteschlange.
Namespace: WebSvcQueueSystem
Assembly: ProjectServerServices (in ProjectServerServices.dll)
Syntax
'Declaration
<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
'Usage
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
)
Parameter
jobUIDs
Typ: []Array von Warteschlangenaufträgen GUIDs.
includeWaitTime
Typ: System.BooleanWenn true, umfassen die Wartezeit Position.
Rückgabewert
Typ: WebSvcQueueSystem.QueueStatusDataSet
Status der angeforderten Aufträge, mit den QueueStatusDataSet.StatusRow Daten für jedes Projekt.
Hinweise
ReadJobStatusSimple wird eine Tracking-ID für den Auftrag Gruppen nicht verwendet. Ein Beispiel dafür, den Status aller Aufträge mit der gleichen Tracking-ID abrufen finden Sie unter ReadJobStatus.
Project Server-Berechtigungen
Eine der folgenden Berechtigungen ist erforderlich.
Berechtigung |
Beschreibung |
---|---|
Nicht standardmäßige |
Der aktuelle Benutzer ist der Besitzer des Auftrags. |
Ermöglicht dem Benutzer die Project Server-Warteschlange verwalten. Die globale Berechtigung. |
Beispiele
Die GetStatusOfQueueJobs -Methode im folgenden Beispiel wird in einer Klasse mit dem Namen QueueSystemUtilities. GetStatusOfQueueJobs ist eine Überladung mit dem gleichen Methodennamen im Beispiel für ReadJobStatus. QueueSystemWS wird von der QueueSystem Webverweis einen beliebigen Namen.
public WebSvcQueueSystem.QueueStatusDataSet GetStatusOfQueueJobs(
WebSvcQueueSystem.QueueSystem q,
Guid[] jobGuids,
bool includeWaitTime)
{
WebSvcQueueSystem.QueueStatusDataSet dsQStatus =
q.ReadJobStatusSimple(jobGuids, includeWaitTime);
return dsQStatus;
}
Im folgenden Codefragment wird ein Array eines Auftrags zur GUIDs für die Methoden QueueCreateProject und QueuePublish erstellt, und ruft dann GetStatusOfQueueJobs, die wiederum ReadJobStatusSimpleaufruft.
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);
. . .
Die QueueStatusDataSet.Status -Tabelle enthält den Status aller Aufträge im Array jobGuids . In der folgenden Tabelle werden einige der Felder in der Tabelle Status nach der Ausführung des vorherigen Codes.
Warteschlange ID |
Nachricht Typ |
Auftrag Abschluss State |
Warteschlange Position |
Prozent Vollständig |
Warteschlange Eintrittszeit |
Warteschlange Verarbeitung Zeit |
Warteschlange Ausgeführt Zeit |
Wait Zeit |
---|---|---|---|---|---|---|---|---|
1 |
22 |
4 |
-1 |
100 |
6/28/2011 2:42 UHR |
6/28/2011 2:42 UHR |
6/28/2011 2:42 UHR |
0 |
1 |
24 |
1 |
4 |
0 |
6/28/2011 2:42 UHR |
1 |
QueueMessageType 22 ist ProjectCreate. Der Auftrag ist nicht mehr in der Warteschlange. JobState 4 ist Success.
QueueMessageType 24 ist ProjectPublish. Der Auftrag ist in der Warteschlange vierten; JobState 1 ist ReadyForProcessing. Die erwartete Wartezeit beträgt eine Sekunde.