0

我了解我可以在流程中使用“等待”来造成延迟;但是,我需要在每次记录更新之间延迟,而不是在整个数据集的每个操作之间延迟。

简单地说:如果我有 100 条记录并且想要更新记录 001,请等待 5 分钟,然后更新记录 002,然后等待 5 分钟......更新记录 100。(我有一个标志来标识已经更新的记录)

4

1 回答 1

0

由于您按需启动工作流,因此无法在您选择的每条记录之间设置延迟。

一种可能的解决方案是编写一个控制台应用程序,该应用程序将检索记录并延迟启动工作流。

像这样的东西:

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);
}
于 2013-06-27T08:16:52.083 回答