• User Attivo

    Script server side residente

    Ciao a tutti,
    è possibile realizzare uno script PHP o tramite altri linguaggi che resti residente e dunque in esecuzione continuativa su server Apache?

    Spiego meglio con un esempio.
    Supponiamo di avere una pagina web che include dei timer in Javascript.
    Allo scadere dei tempi impostati vengono modificiati dei dati in una tabella del database (MySql).
    Non è un problema se l'utente sta visualizzando la pagina nel momento in cui i timer completano il conteggio, ma ho necessità che i dati nella tabella vengano aggiornati esattamente allo scadere del timer a prescindere e dunque sarebbe necessario uno script che controlli tali timer costantemente, ovviamente rielaborando i dati in tabella.
    Questo perché nel frattempo i dati in tabella potrebbero essere già dovuti essere modificati dai timer di altri utenti.

    Dunque, è possibile creare uno script server side che resti residente e costantemente lanci uno secondo script o che verifichi su database se i timer sono scaduti?


  • User

    Dovresti impostare un chron job che esegue il tuo script ogni volta che lo desideri.
    Oppure anziché uno script, dovresti puntare su un webservice.
    Cosa devi fare di preciso?
    Ciao!
    Alfonso


  • User Attivo

    Ciao Alfonso,
    in effetti avevo pensato anche io ad un cronjob, ma andrebbe lanciato ogni millesimo di secondo, dunque, non è proprio lo strumento adatto.

    Cosa devo realizzare di preciso è complesso da spiegare.

    Diciamo che può essere assimilato al funzionamento di un sito di aste online.
    Ci sono dei timer che allo scadere azionano script.

    La cosa però è molto più complessa poichè durante lo scorrimento del tempo, alcune variabili potrebbero aver subìto variazioni da parte di altri utenti.


  • User

    Allora credo che un webservice sia la soluzione più appropriata, oppure scrivere proprio un programmino server-side. Con uno script ci fai molto poco.


  • User Attivo

    Grazie mille, mi muoverò in tal senso.


  • ModSenior

    Bisogna sempre vedere che ci sia la reale necessità di farlo subito, tipo nelle aste online, basta bloccare le offerte. E si può benissimo assegnare con delle operazioni in cronjob dopo 5 minuti, visto che non c'è la necessità di fare tutto nel momento preciso che scade.
    Se invece c'è la necessità, php non è sicuramente un linguaggio adatto per questo genere di cose.


  • User Attivo

    Si, infatti quello delle aste online era solo un esempio.
    In realtà ho già in mente come risolvere utilizzando sostanzialmente solo PHP (e javascript per i timer ovviamente), ma è un'operazione piuttosto complessa poiché dovrei far effettuare diverse e pesanti operazioni (in php) ogni qualvolta uno degli utenti online cambia pagina o aggiorna la pagina.

    In ogni caso, in un modo o nell'altro, risolvo 😉


  • User Attivo

    Ciao kru,

    troppo confusionale il modo in cui hai spiegato. Nel leggere la discussione, a volte mi veniva da consigliarti di sperimentare Node.js, a volte uno script multi-thread in Python... potresti per cortesia spiegare a dovere cosa ti serve? Può darsi che una soluzione si trovi.