Eu tenho um aplicativo, ouvindo o arquivo. log em uma pasta escolhida. Eu usei FileSystemWatcher. Mas há um problema. O outro aplicativo responsável por fazer esse arquivo leva as seguintes etapas: Criar um arquivo. gz Desempacotá-lo para o arquivo txt (algum nome de arquivo aleatório) Altere o nome. txt para um apropriado com extensão. log. E não consigo alterar esse comportamento. Então eu fiz 2 FileSystemWatcher s para arquivos. gz e. txt. Por que, por vezes, esse aplicativo não descompacta o arquivo gz e, às vezes, não renomeia o arquivo txt para o arquivo final. log. FileSystemWatcher2 captura o arquivo txt, então (na maioria dos casos, ele é renomeado para logar os próximos 1000ms) Preciso esperar algum tempo para verificar se o arquivo txt existe (se não, parece ser renomeado para o arquivo final. log). A questão é, como verificar se o arquivo existe sem Thread. Sleep () para evitar a congelação da UI, espero que seja claro, caso contrário, vou tentar descrevê-lo melhor. Eu acho que este é um problema complexo. Algum exemplo de código: Watcher for gz file: Watcher para o arquivo txt: All Thread. Sleep () faz é renunciar ao thread liberar os recursos do computador que ele está usando para que eles possam ser usados para outras tarefas. Não é ideal para alguns cenários (porque tem uma granularidade mínima de 1 ms), mas para o que você está tentando realizar, isso pode funcionar bem. Ndash Robert Harvey 9830 11 de fevereiro às 16:33 RobertHarvey Você tem alguma documentação para isso. Da minha experiência, o Thread. Sleep interrompe um thread de processar quaisquer instruções adicionais até o tempo ter decorrido. Do MSDN: o thread não será agendado para execução pelo sistema operacional pela quantidade de tempo especificada. Ndash CodingGorilla 11 de fevereiro de 13 em 16: 36Rational Functional Tester e WaitForexistence não funciona para o processo Ajax Problema (Resumo) Esta technote afirma que WaitForexistence não funciona para processos Ajax no IBMreg Rationalreg Functional Tester (RFT). Algumas das aplicações Ajax têm botões de rádio que podem preencher o campo Selecionar texto. O RFT pode gravar as caixas de seleção e o texto no campo de texto selecionado também. No entanto, durante o tempo de reprodução, o RFT não pôde encontrar o texto selecionado no campo de texto selecionado. Isto é devido a RFT não vai esperar até que o campo Select the text seja preenchido. Usando esse método (documenthtmlDocument (). WaitForAjaxPendingRequests ()) em um Script, pode não ajudar. A reprodução RFT, portanto, pára com ObjectNotFoundException. A RFT envolve todas as solicitações AJAX geradas a partir de documentos HTML por qualquer ação e, em seguida, passa a solicitação HTTP xml envolvida. O aplicativo definiu algumas APIs AJAX para abortar (), addEventListener () e removeEventListener (). Existem alguns problemas no wrapper do xml pedido http para essas APIs. Resolver o problema Este problema foi identificado como um defeito de produto no APAR PK55901. Foi resolvido no iFix02 para RFT 7.0.1.2.
Comments
Post a Comment