Compartir a través de


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

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

ManageQueue

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

clase QueueSystem

Miembros QueueSystem

Espacio de nombres WebSvcQueueSystem

ReadJobStatus

Otros recursos

How to: Use the QueueSystem Service