in DIXFSamples/RecurringIntegrationApp/Runtime/DefaultDataFlowNetwork.cs [176:204]
private async Task StatusPollerElapsed(object sender, ElapsedEventArgs e)
{
if (EnqueuedJobs.Count > 0)
{
base.formInstance.logText("Checking enqueued jobs' status...");
}
foreach (KeyValuePair<string, ClientDataMessage> item in EnqueuedJobs)
{
// Check status for current item with message id - item.Key
var jobStatusDetail = await getStatus(item.Key);
// If status was found and is not null,
if (jobStatusDetail != null)
{
// post process the status received
var postProcessSucceeded = await postProcessMessageAsync(jobStatusDetail, item.Value);
// If the status received is any of the completion state (any of the error state or processed state)
// the treat processing to be complete and remove the item from the tracked dictionary
if (postProcessSucceeded)
{
ClientDataMessage _removed;
EnqueuedJobs.TryRemove(item.Key, out _removed);
}
}
}
}