QueueSystem.GetJobGroupWaitTimeSimple メソッド
指定されたジョブ グループを処理する、プロジェクト、およびタイムシート キューの残り予想最長時間を指定します。
名前空間: WebSvcQueueSystem
アセンブリ: ProjectServerServices (ProjectServerServices.dll 内)
構文
'宣言
<SoapDocumentMethodAttribute("https://schemas.microsoft.com/office/project/server/webservices/QueueSystem/GetJobGroupWaitTimeSimple", 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 GetJobGroupWaitTimeSimple ( _
trackingID As Guid _
) As Integer
'使用
Dim instance As QueueSystem
Dim trackingID As Guid
Dim returnValue As Integer
returnValue = instance.GetJobGroupWaitTimeSimple(trackingID)
[SoapDocumentMethodAttribute("https://schemas.microsoft.com/office/project/server/webservices/QueueSystem/GetJobGroupWaitTimeSimple", 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 int GetJobGroupWaitTimeSimple(
Guid trackingID
)
パラメーター
trackingID
型: System.Guid複数のジョブに割り当てられた GUID (JobGroupGUID) を追跡します。
戻り値
型: System.Int32
秒数を同じtrackingIDを持つすべてのジョブを完了する必要があります。
注釈
ジョブの予定待機時間はおおよそのもののような種類のジョブの平均待機時間に基づいています。GetJobGroupWaitTimeも考慮のジョブがキューにジョブの相互関係の優先順位が位置します。
プロジェクトまたはタイムシート キューを使用する PSI メソッドの名前はQueueCreateProjectとQueueUpdateTimesheetなど、キューから始まります。プロジェクトまたはタイムシート キューを使用する PSI メソッドの追跡用 GUID を設定するには、キュー メソッド呼び出しに使用する各 PSI Web サービスの SOAP ヘッダーを追跡中の GUID を追加します。
プロジェクト サーバーのアクセス許可
権限 |
説明 |
---|---|
Project Server のキューを管理することができます。グローバル アクセス権。 |
例
次の手順は、プロジェクトの Web サービスのWebRequestメソッドを変更する方法を示します。
プロジェクトの PSI の呼び出しに SOAP ヘッダーに追跡用 GUID を追加します。 |
---|
|
次の例では、 GetExpectedGroupWaitTimeメソッドは、 QueueSystemUtilitiesという名前のクラスで。このメソッドは、 QueueProjectPublishメソッドに関連するすべてのキュー ジョブの予定待機時間を返します。グループ内のジョブは、 trackingGuidパラメーターで指定します。QueueSystemWSは、任意のQueueSystemの Web 参照の名前です。
public int GetAllExpectedGroupWaitTime(QueueSystemWS.QueueSystem q,
Guid trackingGuid)
{
int wait = q.GetJobGroupWaitTime(trackingGuid, msgType);
return wait;
}
次のコードは PSI メソッドへの通常の呼び出しProjectオブジェクトは、SOAP ヘッダーに追跡用 GUID を追加で、前の手順で説明するようします。
using System.Threading;
using PSLibrary = Microsoft.Office.Project.Server.Library;
. . .
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 = "Name of Project";
projectRow.PROJ_TYPE =
Convert.ToInt32(PSLibrary.Project.ProjectType.Project);
dsProject.Project.AddProjectRow(projectRow);
// Create the queue job and tracking GUIDs, and then set the tracking
// GUID for SOAP calls to the derived Project object.
Guid jobGuid = Guid.NewGuid();
Guid trackingGuid = Guid.NewGuid();
SomeNameSpace.ProjectWS.ProjectDerived.SetTrackingGuid(trackingGuid);
bool validateOnly = false;
// Create and save project to the Draft database.
projectDerived.QueueCreateProject(jobGuid, dsProject, validateOnly);
// Wait a few seconds, or create a WaitForQueue method.
Thread.Sleep(3000);
ProjectWS.ProjectRelationsDataSet dsProjectRelations =
new ProjectWS.ProjectRelationsDataSet();
jobGuid = Guid.NewGuid();
string wssUrl = "" // Default SharePoint project workspace,
bool fullPublish = true;
// Publish the project to the Published database.
dsProjectRelations = projectDerived.QueuePublish(jobGuid, projectGuid, fullPublish, wssUrl);
// Try various wait times to see the effect of additional queue jobs
// spawned by QueuePublish.
Thread.Sleep(500);
QueueSystemWS.QueueMsgType msgType = QueueSystemWS.QueueMsgType.ReportingProjectPublish;
int jobGroupWaitTime = queueSystemUtils.GetAllExpectedGroupWaitTime(queueSystem, trackingGuid);
string waitTime = "After QueuePublish:\t\t" + jobGroupWaitTime.ToString() + " seconds for all related jobs";
QueueCreateProjectとQueuePublishの両方の呼び出しを追跡、 ProjectDerivedオブジェクトでは、SOAP ヘッダーで設定されている GUID を使用します。QueuePublishメソッドは、レポート データベースに発行されたプロジェクトのデータを送信するなどの追加のキュー ジョブを生成します。jobGroupWaitTime値は両方のキューに現在存在するすべての関連ジョブの予定待機時間を示します。