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?

Foi útil?

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.

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top