Один сервис добавляет к другому, а другой усекает файл - PullRequest
1 голос
/ 06 февраля 2010

У меня есть служба, которая управляет устройством RS-232 и записывает действия в файл. Я должен написать другую службу, которая будет построчно читать файл журнала и выполнять некоторые запросы к базе данных, а затем удалять все журналы.

Меня беспокоит конфликт чтения и записи файла. Например, служба ведения журнала открывает файл, чтобы добавить новую строку, в то время как служба репликации открывает файл и пишет "", поэтому обрежьте его содержимое.

Есть предложения прояснить мою ситуацию?

Ответы [ 2 ]

1 голос
/ 06 февраля 2010

Как насчет изменения службы "чтение", чтобы сначала переименовать файл (обычно я ставлю перед ним "_") И тогда он может удалить его, когда закончите. Служба записи должна создать файл журнала, если он не существует. Таким образом, вы должны иметь нулевую потерю данных.

0 голосов
/ 06 февраля 2010

Если вы не привязаны к использованию файла, в этом сценарии использования будет указана очередь сообщений для передачи сообщений журнала.

...