共用方式為


QueueSystem.ReadJobStatusSimple 方法

會取得指定之工作的相關 Project Server 佇列的狀態資訊。

命名空間:  WebSvcQueueSystem
組件:  ProjectServerServices (在 ProjectServerServices.dll 中)

語法

'宣告
<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
'用途
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
)

參數

  • jobUIDs
    類型:[]

    佇列工作 Guid 的陣列。

  • includeWaitTime
    類型:System.Boolean

    如果true,包括的預期的工作等待時間。

傳回值

類型:WebSvcQueueSystem.QueueStatusDataSet
對於每個工作的QueueStatusDataSet.StatusRow資料的要求工作的狀態。

備註

ReadJobStatusSimple不使用追蹤識別碼的工作群組。如需取得具有相同的 tracking 識別碼的所有工作的狀態的範例,請參閱 < ReadJobStatus

Project Server 權限

其中一個下列權限,則需要。

權限

描述

非標準

目前的使用者是工作擁有者。

ManageQueue

可讓使用者管理 Project Server 佇列。通用權限。

範例

下列範例會將GetStatusOfQueueJobs方法是在名為QueueSystemUtilities類別。GetStatusOfQueueJobs是方法中相同名稱的範例會針對ReadJobStatus多載。QueueSystemWS是QueueSystem Web 參考 (英文) 任意名稱。

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

下列程式碼片段會建立QueueCreateProject和QueuePublish方法,如工作 Guid 的陣列,並接著會呼叫GetStatusOfQueueJobs,它會接著呼叫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);
. . .

QueueStatusDataSet.Status表格列出jobGuids陣列中的所有工作的狀態。下表顯示的某些Status表之後執行前述的程式碼。

佇列

識別碼

郵件

類型

工作

完成

State

佇列

位置

%

完成

佇列

進入時間

佇列

處理

Time

佇列

完成

Time

等待

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 是ProjectCreate。工作已不再佇列 ;JobState 4 是Success。

QueueMessageType 24 是ProjectPublish。「 工作 」 第四個佇列 ;JobState 1 是ReadyForProcessing。預期的等候時間為一秒鐘。

請參閱

參照

QueueSystem 類別

QueueSystem 成員

WebSvcQueueSystem 命名空間

ReadJobStatus

其他資源

How to: Use the QueueSystem Service