Em consumer
você pode usar este comando rsync.
rsync -az --remove-source-files user@producer:/some/path/ /some/path/
Então, quando o processo estiver concluído, o seu processo consumer
excluirá o arquivo.
rm -f /some/path/file
Digamos que tenhamos dois hosts producer
e consumer
e o seguinte processo:
producer
adiciona arquivos regularmente a /some/path
. consumer
extrai esses arquivos para seus próprios /some/path
(por exemplo, via rsync
) e processa para eles. consumer
para excluir os arquivos processados (e somente os arquivos processados) em ambos os hosts.
Pode (3) ser realizado com rsync
ou um comando equivalente por consumer
?
Como alternativa, podemos ter consumer
excluindo facilmente os arquivos de producer
que são transferidos conforme processa a etapa (2)?
Observe que producer
está sempre criando arquivos e queremos garantir que processemos cada arquivo em consumer
uma vez e somente uma vez.