У меня есть служба Windows, которая просто читает общую папку UNC (например, папку для просмотра), а затем берет верхние 5 файлов и выполняет некоторый процесс и передает его в другое место через API.Синхронизация между службами windows
Эта услуга должна запускаться каждые 5 минут. А обработка & может занять более 5 минут.
Я запустил этот сервис Windows на 5 серверов, и я хотел бы найти прочный подход, который эти службы не будут иметь доступа к одному и тому же файлу в одно и то же время.
Я думаю, что когда-либо служба получит доступ, сначала он проверит SQL-сервер, если эти файлы находятся в списке обработки (например, в таблице обработки_файлов). Если нет, напишите эти файлы в базе данных и попытайтесь их забрать, поэтому, если есть другая служба, попытайтесь обратиться к той же папке, она проверит db и увидит, что файлы находятся в процессе. Затем он попробует следующий 5 файлов.
Я хотел бы знать, есть ли известный сценарий для этого сценария, тогда мне не нужно изобретать колесо.