2013-06-25 71 views
0

我知道我可以在一個進程中使用「等待」來創建延遲;但是,我需要在每個RECORD更新之間延遲,而不是在整個數據集上的每個ACTION之間延遲。更新1條記錄,每次記錄更新之間有一個x分鐘的延遲

簡單地說:如果我有100條記錄,並且想要更新記錄001,請等待5分鐘,然後更新記錄002,然後等待5分鐘...更新記錄100.(我有一個標記以標識已經存在的記錄更新)

+2

你能解釋一下你如何啓動這些工作流程?根據需要,在有兒童工作流程的情況下? –

+0

選擇記錄,然後根據需要運行 – greenafrican

+0

您的工作流程是否執行其他任何操作而不是更新記錄? – MarioZG

回答

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); 
}