Jump to content
manoaj

[Resolvido] CONSULTA LONG POLLING

Recommended Posts

Bom dia pessoal!

Eu tenho uma consulta no meu sistema que retorna as informacoes com a técnica de long polling, porem eu tenho um problema e n sei como resolver, se eh do lado do servidor ou do cliente.

As minhas consultas se mantém abertas por 20 segundos buscando respostas, e o problema e exatamente esse, tudo que vou fazer na pagina onde o longpolling e executado, leva 20 segundos pra acontecer, ate mesmo se eu der um refresh na pagina ele leva 20 segundos, outras consultas no banco leva 20 segundos, tudo espera os 20 segundos do long.

 como eu resolvo isso?

Share this post


Link to post
Share on other sites

Esta é uma questão de bloqueio para evitar a condição de corrida. Um sessão não pode ser acessada simultaneamente. Por isso, sempre que houver uma sessão, as demais requisições entram na fila até essa sessão ser liberada.

 

Você pode liberar a sessão utilizando o comando session_write_close. Ele salvará as alterações da sessão, manterá a super global $_SESSION disponível para consulta (não poderá adicionar ou alterar informações) e irá fechar a sessão.

 

Dessa forma, você poderá realizar várias consultas ao mesmo tempo

  • Obrigado! 1

Share this post


Link to post
Share on other sites
<?php

session_start();

// realiza as alterações da $_SESSION, caso necessário

session_write_close();

// script de long polling abaixo

 

  • +1 1

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now

  • Similar Content

    • By Sapinn
      Estou usando o editor SummerNote em um projeto mas ele não está enviando os dados com o HTML apenas o texto. Eu estou colocando assim:

               
                                        <textarea id="summernote" class="textarea" required name="content">     <script> $('#summernote').summernote({         tabsize: 2,         height: 500,         toolbar: [           ['style', ['style']],           ['font', ['bold', 'underline', 'clear']],           ['color', ['color']],           ['para', ['ul', 'ol', 'paragraph']],           ['table', ['table']],           ['insert', ['link', 'picture', 'video']],           ['view', ['fullscreen', 'codeview', 'help']]         ]       });           </script>  
       
    • By marcelo.ourico
      Boa noite. Pessoal, mais uma vez aqui pedindo uma ajuda.

      Estou tentando enviar uma NFSe via SOAP.

      Estou recebendo o seguinte erro:

      Fatal error: Uncaught SoapFault exception: [SOAP-ENV:Client] ERRO : cvc-complex-type.4: Attribute 'Algorithm' must appear on element 'ns2:CanonicalizationMethod'. in

      O meu Array está da seguinte forma:
      Array
      (
      [CanonicalizationMethod] => Array
      (
      [@attributes] => Array
      (
      [Algorithm] => http://www.w3.org/TR/2001/REC-xml-c14n-20010315
      )
      )

      Não entendi o porque desse erro, alguém sabe ajudar?
    • By Sapinn
      Galera estou usando o PHPStorm para alguns projetos e estou com meus arquivos marcados em vermelho não sei oq é alguem pode me ajuda?
       
       

    • By danielambrosio
      Estou trabalhando numa programação PHP é conectado na tabela (cl_configs) para reconhece coluna name que reconhece esses 5 campos.
      e também que adiciona esses 5 valores é adicionado nessa outra tabela (cl_ads_block_ips) nesses 8 coluna (id, ip, clicks, last_click, dads_refresh_qtd, dads_refresh_data, dads_refresh_ldata, clicks_rotativo_dia).
      E a conexão que eu usa era de outro site e não estou tendo problema e configurar em outro site que reconhece essa banco de dados abaixo.
       
      <?php $host = "localhost"; $user = "ads"; $pass = "_CMpFF4Hpa!G_gTh"; $dbname = "ads"; $port = 3306; try {     $conn = new PDO('mysql:host=' . $host . ';port=' . $port . ';dbname=' . $dbname, $user, $pass);     //echo "Conexão com banco de dados realizado com sucesso!"; } catch (PDOException $err) {     echo "Erro: Conexão com banco de dados não foi realizada com sucesso. Erro gerado " . $err->getMessage(); } ?>  
      Conecta com sucesso só não está reconhecendo a tabela (cl_configs) e nem adicionando na tabela (cl_ads_block_ips).
       
       
      Agora não sei porque não esta reconhecendo (cl_configs) e nem adicionando (cl_ads_block_ips).
       
       


×

Important Information

Ao usar o fórum, você concorda com nossos Terms of Use.