Pagina 1 di 2 1 2 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 12
  1. #1
    Utente di HTML.it
    Registrato dal
    Feb 2009
    Messaggi
    32

    PHP on HEROKU (Facebook App)

    Salve a tutti,
    spero di aver indovinato la sezione.
    Arrivo subito al dunque.
    Ho creato una piccolissima e banale applicazione per facebook carcicandola su Heroku.
    Il problema è che lo script esegue un ciclo for lungo,parecchio lungo,con quasi 2000 cicli.
    Funziona perfettamente se non fosse che arrivato a circa il 50esimo indice mi va in errore.
    Presumo si tratti di un errore di TimeOut.
    Sapete come potrei fare per risolverlo..?
    Per esempio ho visto degli script per Facebook da far girare su Firefoz.
    Ad un tratto (probabilmente raggiunto il "tempo limite") un alert ti chiede se vuoi continuare con lo script o interromperlo.
    Come posso riprodurre una cosa del genere..?
    O più in generale aggirare il problema..?
    Se può servire ho provato il ciclo for con 50 cicli e funziona perfettamente.

    Grazie a tutti..!


    PS: dimenticavo.
    Non credo sia possibile (su Heroku) intervenire sul file PHP.ini

  2. #2
    Utente di HTML.it
    Registrato dal
    Apr 2004
    Messaggi
    3,709
    tanto banale forse non è... nel senso che di per sè 2000 iterazioni non sono tantissime, ma evidentemente ci sono delle computazioni troppo lunghe all'interno... l'avviso che dici di FF è gestito dal browser... non è un problema questa attesa così lunga? Cioè se funzionasse a te andrebbe bene? A naso mi sembra sarebbe meglio ottimizzare l'algoritmo... se ne può parlare?

  3. #3
    Utente di HTML.it
    Registrato dal
    Feb 2009
    Messaggi
    32
    si tratta di un ciclo che contiene semplicemnte un publish_stream..
    Per me onestamente non avrebbe importanza la durata dello script.
    Per quanto riguarda migliorare l'algoritmo,tu come vorresti fare..?
    Fondamentalmente ripeto..si tratta solo di un ciclo for che contiene all'interno un publish_stream..

  4. #4
    Utente di HTML.it
    Registrato dal
    Apr 2004
    Messaggi
    3,709
    mmh... mi sembra un po' invasivo.. o no?

    ...che errore viene fuori, magari è sufficiente allora dare un'occhiata a http://php.net/manual/en/function.set-time-limit.php , ma se ci sono dei limiti sul server e non si possono toccare non puoi farci nulla

  5. #5
    Utente di HTML.it
    Registrato dal
    Feb 2009
    Messaggi
    32
    no no..niente Spam..anzi..diciamo che offro un servizio..
    si tratta di un profilo di un gruppo di organizzazione eventi,al quale la gente si "iscrive" (invia richiesta d'amicizia) di sua spontanea volontà (non mandiamo richieste) e pubblichiamo solo il link all'ultimo album fotografico.

    l'errore è molto generico,dichiara solo che si è verificato un errore e di riprovare in un secondo momento,ma sono convinto si tratti di timeout.

    Adesso provo con set_time_limit,ma non credo possa andare per il semplice fatto che sicuramente il server funziona in safety mode,condizione in ogni caso non modificabile.

    Posso usare ajax in uno script per facebook..?
    sto pensando di partizionare il ciclo a 50 cicli alla volta..

  6. #6
    Utente di HTML.it
    Registrato dal
    Apr 2004
    Messaggi
    3,709
    ajax si può usare... ma chi è che lancia l'azione? come avviene l'avvio dello script? a quale evento reagisce, insomma?

  7. #7
    Utente di HTML.it
    Registrato dal
    Feb 2009
    Messaggi
    32
    potrei creare un pulsante.
    non appena il ciclo arriva ai primi 50,si ferma,aggiorna il "count" e cliccando sul pulsante farei ripartire il ciclo for con ($count=$count+50;$count<$numero_users;++$count).
    Potrebbe funzionare..?

  8. #8
    Utente di HTML.it
    Registrato dal
    Apr 2004
    Messaggi
    3,709
    intendo dire: è un evento "esterno" o sei tu che avvii il processo? perchè se lo avvii tu penso si possa studiare qualcosa di specifico

  9. #9
    Utente di HTML.it
    Registrato dal
    Feb 2009
    Messaggi
    32
    no certo avvio io il processo..

  10. #10
    Ciao,
    hai provato a mettere banalmente
    set_time_limit(0);
    all'inizio dello script??

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.