Partager via


QueueSystem.ReadJobStatusSimple - Méthode

Obtient les informations d'état sur les travaux spécifiés sur la file d'attente de Project Server.

Espace de noms :  WebSvcQueueSystem
Assembly :  ProjectServerServices (dans ProjectServerServices.dll)

Syntaxe

'Déclaration
<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
'Utilisation
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
)

Paramètres

  • jobUIDs
    Type : []

    Tableau des travaux en file d'attente GUID.

  • includeWaitTime
    Type : System.Boolean

    Si true, incluent le temps d'attente de travail attendue.

Valeur renvoyée

Type : WebSvcQueueSystem.QueueStatusDataSet
État des travaux demandé, avec les données QueueStatusDataSet.StatusRow pour chaque travail.

Remarques

ReadJobStatusSimple n'utilise pas un ID de suivi pour les groupes de travail. Pour obtenir un exemple de l'obtention de l'état de tous les travaux ayant le même ID de suivi, voir ReadJobStatus.

Autorisations Project Server

Une des autorisations suivantes est nécessaire.

Autorisation

Description

Non standard

L'utilisateur actuel est le propriétaire de la tâche.

ManageQueue

Permet à l'utilisateur de gérer la file d'attente de Project Server. Autorisation globale.

Exemples

La méthode GetStatusOfQueueJobs dans l'exemple suivant est dans une classe nommée QueueSystemUtilities. GetStatusOfQueueJobs est une surcharge portant le même nom de méthode dans l'exemple de ReadJobStatus. QueueSystemWS est un nom arbitraire de la référence Web QueueSystem .

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

Le fragment de code suivant crée un tableau de GUID de tâche pour les méthodes QueueCreateProject et QueuePublish et appelle ensuite GetStatusOfQueueJobs, qui à son tour appelle 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);
. . .

Le tableau QueueStatusDataSet.Status répertorie l'état de tous les travaux dans le tableau jobGuids . Le tableau suivant montre certains champs dans la table Status après l'exécution du code précédent.

File d’attente

ID

Message

Type

Travail

Saisie semi-automatique

State

File d’attente

Position

%

Installation complète

File d’attente

Heure d’entrée

File d’attente

Traitement

Time

File d’attente

Effectuée

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 est ProjectCreate. Le travail n'est plus dans la file d'attente ; JobState 4 est Success.

QueueMessageType 24 est ProjectPublish. Le travail est le quatrième sur la file d'attente ; JobState 1 est ReadyForProcessing. Le délai d'attente attendue est une seconde.

Voir aussi

Référence

QueueSystem classe

QueueSystem - Membres

WebSvcQueueSystem - Espace de noms

ReadJobStatus

Autres ressources

How to: Use the QueueSystem Service