Usamos cookies para medir audiência e melhorar sua experiência. Você pode aceitar ou recusar a qualquer momento. Veja sobre o iMasters.
Olá galera... seguinte
Tenho que gerar um série de invoices em pdf a partir de dados em minha base...
Já fiz um script que gera o pdf com as infos que preciso porém, o usuário que irá utilizar o sistema irá gerar de 100 em 100 invoices por vez, então gostaria de que quando o usuário mandar gerar o relatório ele não precise ficar com o browser aberto, ou um popup... gostaria que fosse salvando por trás ( apenas no server) e que o usuário ficasse livre para continuar navegando, e quando gerar o último eu aviso ele por msg...
Tem alguma forma de desencadear esta ação sem ser via cronjob? pois para gerar os relatórios o usuário tem de estar logado...
Abs
>
Abre em um iframe invisivel... com os dados para salvar em get...
Dai escreve tipo... dai manda um alert javascript do tipo...
Os dados estão sendo salvos... e você pode continuar navegando em nosso site até receber a mensagem de "concluissão"...
Dai quando acaba tu manda um outro alert através do iframe...
Você pode fazer um verificador em JavaScript, que consulta o servidor de tempos em tempos.
Grava na sessão alguma informação dizendo "tem invoices na fila". Então, essa informação é passada para o javascript, que chama o servidor. Quando a fila esgotar, limpa a informação da sessão.
var hasInvoices = <?php echo !empty($_SESSION['invoices']) ? 'true' : 'false'; ?>;
// executa a checagem a cada 2 segundos (2000 milisegundos)
var interval = setInterval(function(){
if( hasInvoices ){
// usando jquery
$.post('caminho/do/server/para/checar.php', null, function(res){
if( res == 'terminou' ){
alert("Os invoices foram gerados com sucesso!");
hasInvoices = false;
// limpa o intervalo
clearInterval( interval );
}
});
}
}, 2000);
@braços
Abre em um iframe invisivel... com os dados para salvar em get...
Dai escreve tipo... dai manda um alert javascript do tipo...
Os dados estão sendo salvos... e você pode continuar navegando em nosso site até receber a mensagem de "concluissão"...
Dai quando acaba tu manda um outro alert através do iframe...