Poll database table, looking for items to process
Queuing items for processing
Process files on disk (the database table being polled describes the files being processed (file path, processing status))
Record processing results to database
The processing time for each item is assumed to take a long time (hours), so processing should take place on its own thread and multiple items should be processed concurrently (though probably not all items in the queue if the queue has a lot of items).
I'm not an expert