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.BooleanSi 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. |
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
WebSvcQueueSystem - Espace de noms