del método QueueSystem.ReadJobStatusSimple
Obtiene información de estado acerca de los trabajos especificados en la cola de Project Server.
Espacio de nombres: WebSvcQueueSystem
Ensamblado: ProjectServerServices (en ProjectServerServices.dll)
Sintaxis
'Declaración
<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
'Uso
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
)
Parámetros
jobUIDs
Tipo: []Matriz de trabajos en cola los GUID.
includeWaitTime
Tipo: System.BooleanSi true, incluir el tiempo de espera de laborales.
Valor devuelto
Tipo: WebSvcQueueSystem.QueueStatusDataSet
Estado de los trabajos solicitados, con los datos de QueueStatusDataSet.StatusRow para cada trabajo.
Comentarios
ReadJobStatusSimple no usa un identificador de seguimiento para los grupos de trabajo. Para obtener un ejemplo de obtener el estado de todos los trabajos con el mismo identificador de seguimiento, vea ReadJobStatus.
Permisos de Project Server
Se necesita uno de los siguientes permisos.
Permiso |
Descripción |
---|---|
No estándar |
El usuario actual es el propietario del trabajo. |
Permite al usuario administrar la cola de Project Server. Permiso global. |
Ejemplos
El método GetStatusOfQueueJobs en el siguiente ejemplo es en una clase denominada QueueSystemUtilities. GetStatusOfQueueJobs es una sobrecarga del mismo nombre de método en el ejemplo de ReadJobStatus. QueueSystemWS es un nombre arbitrario de QueueSystem referencia Web.
public WebSvcQueueSystem.QueueStatusDataSet GetStatusOfQueueJobs(
WebSvcQueueSystem.QueueSystem q,
Guid[] jobGuids,
bool includeWaitTime)
{
WebSvcQueueSystem.QueueStatusDataSet dsQStatus =
q.ReadJobStatusSimple(jobGuids, includeWaitTime);
return dsQStatus;
}
El siguiente fragmento de código crea una matriz de GUID de trabajo para los métodos QueueCreateProject y QueuePublish y, a continuación, llama a GetStatusOfQueueJobs, que a su vez llama a 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);
. . .
La tabla QueueStatusDataSet.Status muestra el estado de todos los trabajos de la matriz jobGuids . En la siguiente tabla muestra algunos de los campos en la tabla Status después de ejecutar el código anterior.
Queue Id. |
Mensaje Tipo |
Trabajo Finalización State |
Queue Posición |
Porcentaje Completada |
Queue Hora de entrada |
Queue Proceso Time |
Queue Finalizado Time |
esperar Time |
---|---|---|---|---|---|---|---|---|
1 |
22 |
4 |
-1 |
100 |
28/6/2011 2:42 P.M. |
28/6/2011 2:42 P.M. |
28/6/2011 2:42 P.M. |
0 |
1 |
24 |
1 |
4 |
0 |
28/6/2011 2:42 P.M. |
1 |
QueueMessageType 22 es ProjectCreate. El trabajo ya no está en la cola; JobState 4 es Success.
QueueMessageType 24 es ProjectPublish. El trabajo es el cuarto en la cola; JobState 1 es ReadyForProcessing. El tiempo de espera previsto es un segundo.
Vea también
Referencia
Espacio de nombres WebSvcQueueSystem