есть приложение с примерно такой же архитектурой, только сам "файл" в моем случае кладу туда же в базу, чтобы сервис не зависел от какой бы то ни было папки. Вопросов по надежности и скорострельности нет совсем, все работает очень шустро. Параллельную обработку сделал следующим путем:
- В таблицу добавил еще одно поле "№обработчика"
- Приложение обработчик создает N отдельных потоков, каждый изначально имеет определенный ID
- Поток делает Update первой записи из таблицы, у которой "№обработчика" is null
- Делает селект в базу выбирая записи у которых № обработчика тот же что и ID потока
- Обрабатывает их и обновляет статус.
Таким образом получается, что потоки "отбирают" себе по задаче, обрабатывают ее и обновляют статус и так по кругу.