AJAX (protótipo / php) executando 2 processo trava Ajax até um primeiro é acabado
-
03-07-2019 - |
Pergunta
Esta questão é uma continuação ao meu anterior: perguntas anteriores .
Então, eu configurei minha página para iniciar uma chamada ajax para iniciar o processamento de alguns registros. E depois de cada registro que atualiza uma linha em outra tabela para acompanhar o status desse processo. Após essa primeira chamada ajax é feito, tenho outra arranque. É um Ajax.PeriodicalUpdater e é ajustado para bater um arquivo que simplesmente consultas que linha no db e retorna o status do processo original.
Então, isso funciona perfeitamente bem ... contanto que o arquivo que fornece as atualizações de status está fora do meu aplicativo atual. Se eu colocar o interior de arquivos do meu aplicativo, então ele não funciona direito. Se eu assistir firebug, a chamada PeriodicalUpdater não recebe nada de volta até a conclusão da chamada Ajax originais, ele apenas sai por isso é como se o arquivo estiver travado e não retornando nada.
Este aplicativo inteiro está sendo executado dentro apenas uma estrutura básica que estamos usando. Nada louco, apenas alças de roteamento, e aspectos básicos do modelo etc ... Então, todas essas funções / arquivos estão dentro deste aplicativo e todas essas chamadas ajax estão sendo encaminhadas através deste.
O que poderia estar causando algo assim?
Solução
isso pode ser devido ao limite de conexões simultâneas suportado por uma navegador para um domínio particular?
Outras dicas
Isto é causado por PHP serialização sessão. Os dados da sessão está bloqueado até que o processo PHP para cada solicitação tem a escrita acabado para ele, então mais pedidos na mesma sessão irá fila até que o bloqueio seja liberado.
Se suas solicitações de AJAX precisam ter acesso a estado da sessão, leia as informações que você precisa e, em seguida, usar session_write_close()
tão cedo em seu código possível para liberar esses bloqueios.