Visualizzazione dei risultati da 1 a 5 su 5

Discussione: esecuzione asincrona

  1. #1
    Utente di HTML.it
    Registrato dal
    Dec 2001
    Messaggi
    390

    esecuzione asincrona

    ciao a tutti.
    ho una domanda da porvi: avrei bisogno di realizzare un thread nella mia web app, vale a dire qualcosa di simile:

    l'utente è in A.php
    da A.php, l'utente chiama B.php
    B.php chiama in maniera asincrona C.php
    subito dopo aver chiamato C.php, l'utente viene riportato in A.php
    C.php continua l'elaborazione, nel frattempo l'utente fa il porco comodo suo

    quindi: come chiamo in maniera asincrona C (passando anche i parametri di input)?

    Ciao!!
    Date a Cesare quel che è di Cesare,
    tutto il resto a me!!

  2. #2
    Utente di HTML.it L'avatar di Fractals87
    Registrato dal
    Apr 2008
    Messaggi
    1,202
    Ciao premesso che non ha tanto senso quello che hai detto, probabilmente perchè non conosco le reali necessità che ti hanno spinto a fare questa domanda.

    Cmq se la richiesta asincrona deve partire da b.php e finire su c.php (poi b.php deve riportare ad a.php) ti suggerisco di utilizzare js in particolare jquery.
    (Percui forum sbagliato)

    http://api.jquery.com/jQuery.ajax/

    Questa è la funzione che di serve.
    Dovresti metterla in b.php all'interno del costrutto document.ready (altra funzione jquery che viene automaticamente innescata quando il browser ha completato la visualizzazione) oppure incapsulare l'ajax all'interno di una funzione innescata con un button onclick

    $.ajax({
    url: "c.php",
    context: document.body
    }).done(function() {
    window.location = "a.php";
    });
    Che mestiere difficile.....essere da soli ancora di più

  3. #3
    Utente di HTML.it
    Registrato dal
    Dec 2001
    Messaggi
    390
    invece di senso ne ha, ed anche tanto, in quanto è una simulazione di lancio di processo batch; ma forse non mi sono espresso bene.

    il lancio del "thread" serve in quanto lato server avrei bisogno di lanciare uno script che può richiedere anche mezz'ora di elaborazione, al termine del quale eseguire altre operazioni. per questo motivo la chiamata asincrona deve essere sganciata dal flusso di operazioni che l'utente fa, ma comunque deve dare feedback (sempre al server) al termine delle operazioni.

    Ciao
    Date a Cesare quel che è di Cesare,
    tutto il resto a me!!

  4. #4
    Utente di HTML.it L'avatar di Fractals87
    Registrato dal
    Apr 2008
    Messaggi
    1,202
    io questo modo non crei veri e propri thread, perche la chiamata asincrona rimane in attesa di risposta.
    Per creare 2 flussi di processi separati c'è la funzione apposita in php

    http://php.net/manual/en/class.thread.php

    Attenzione però questo modo di agire ti costringe a aumentare in modo spropositato il tempo massimo di esecuzione delle pagine nel php.ini, che a volte può essere sconveniente.
    Se c'è un errore di programmazione in una pagina con un loop infinito il browser del client si inchioda.
    Nel caso in cui ci fosse ci fossero più richieste a questa pagina che contiene lo script di esecuzione di "mezzora" potresti ritrovarti nella situazione di eseguire due volte lo stesso processo e questo porterebbe dei rallentamenti significativi nella navigazione dell'applicazione.

    Tutto dipende da come viene gestito la pagina c.php
    Se esegue un semplice script se fa una chiamata ad un programma esterno eccecc..
    Che mestiere difficile.....essere da soli ancora di più

  5. #5
    Utente di HTML.it
    Registrato dal
    Dec 2001
    Messaggi
    390
    Guarda, fondamentalmente si tratta di una chiamata ad una libreria di sistema (con dei parametri di input), e delle piccole elaborazioni dopo il termine della prima chiamata...solo che la chiamata è onerosa
    Date a Cesare quel che è di Cesare,
    tutto il resto a me!!

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.