Um Anexa serviços para e outra trunca um arquivo
-
18-09-2019 - |
Pergunta
Eu tenho um serviço que controla um dispositivo RS-232 e registra ações em um arquivo. Estou a escrever um outro serviço que irá ler a linha de arquivo de log por linha e executar algumas consultas em um banco de dados, em seguida, apagar todos os logs.
A minha preocupação é sobre leitura e gravação conflitos no arquivo. Por exemplo, o serviço logger abrir o arquivo para acrescentar uma nova linha ao mesmo tempo, o serviço replicador abre o arquivo e escrever "" para truncar seu conteúdo.
Todas as sugestões para esclarecer minha situação?
Solução
Como sobre como modificar o serviço de "ler" para renomear o arquivo primeiro (colocando um "_" na frente dele é o que eu costumo fazer). E então ele pode excluí-lo quando terminar. O serviço de escrita deve criar o arquivo de log se ele não existe. Desta forma, você deve ter perda de dados zero.
Outras dicas
Se o seu não estão vinculados a usar um arquivo, o caso de uso sugeriria uma fila de mensagens para entregar suas mensagens de log.