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 權限
其中一個下列權限,則需要。
權限 |
描述 |
---|---|
非標準 |
目前的使用者是工作擁有者。 |
可讓使用者管理 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。預期的等候時間為一秒鐘。