Share via


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.Boolean

    Wenn 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.

ManageQueue

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.

Siehe auch

Referenz

QueueSystem Klasse

QueueSystem-Member

WebSvcQueueSystem-Namespace

ReadJobStatus

Weitere Ressourcen

How to: Use the QueueSystem Service