プロセスで「待機」を使用して遅延を作成できることを理解しています。ただし、データセット全体の各 ACTION 間ではなく、各 RECORD 更新間で遅延する必要があります。
簡単に: 100 件のレコードがあり、レコード 001 を更新したい場合は、5 分待ってからレコード 002 を更新し、5 分待って... レコード 100 を更新します。(既に更新されたレコードを識別するためのフラグがあります)
プロセスで「待機」を使用して遅延を作成できることを理解しています。ただし、データセット全体の各 ACTION 間ではなく、各 RECORD 更新間で遅延する必要があります。
簡単に: 100 件のレコードがあり、レコード 001 を更新したい場合は、5 分待ってからレコード 002 を更新し、5 分待って... レコード 100 を更新します。(既に更新されたレコードを識別するためのフラグがあります)
ワークフローはオンデマンドで起動するため、選択した各レコード間に遅延を設定することはできません。
考えられる解決策は、レコードを取得し、遅延してワークフローを起動するコンソール アプリケーションを作成することです。
このようなもの:
EntityCollection results = service.RetrieveMultiple(retrieveQuery);
foreach (Entity result in results.Entities)
{
ExecuteWorkflowRequest requestExecuteWorkflow = new ExecuteWorkflowRequest();
ExecuteWorkflowResponse responseExecuteWorkflow = new ExecuteWorkflowResponse();
requestExecuteWorkflow.WorkflowId = workflow.Id; // Workflow Guid;
requestExecuteWorkflow.EntityId = result.Id;
responseExecuteWorkflow = (ExecuteWorkflowResponse)service.Execute(requestExecuteWorkflow);
Thread.Sleep(5 * 1000 * 60);
}