in DIXFSamples/RecurringIntegrationApp/Runtime/DefaultDataFlowNetwork.cs [133:167]
public async Task processInputQueue()
{
if (!InputQueue.IsEmpty)
{
ClientDataMessage dataMessage;
// For each item in the input queue, dequeue and move
// item to the in process queue
while (InputQueue.TryDequeue(out dataMessage))
{
var targetDataMessage = new ClientDataMessage()
{
Name = dataMessage.Name,
FullPath = Path.Combine(Settings.InProcessDir, dataMessage.Name),
MessageStatus = MessageStatus.InProcess
};
// Move to inprocess location
await this.moveDataToTargetAsync(dataMessage, targetDataMessage);
// Enqueue to the inprocess queue
InprocessQueue.Enqueue(targetDataMessage);
// Update stats
base.formInstance.logText("File: " + targetDataMessage.Name + " - moved to inprocess location.");
Interlocked.Increment(ref inprocessJobCount);
base.formInstance.updateStats(StatType.Inprocess, inprocessJobCount);
}
}
// Process uploads
await processInprocessQueue();
}