Navigazione

    Privacy - Termini e condizioni
    © 2020 Search On Media Group S.r.l.
    • Registrati
    • Accedi
    • CATEGORIES
    • Discussioni
    • Non letti
    • Recenti
    • Hashtags
    • Popolare
    • Utenti
    • Stream
    • Interest
    • Categories
    1. Home
    2. Categorie
    3. Coding e Sistemistica
    4. Coding
    5. [Script] Utilizzare cron senza account di root
    Questa discussione è stata cancellata. Solo gli utenti con diritti di gestione possono vederla.
    • O
      olaola User Attivo • ultima modifica di

      buono a sapersi, solo mi chiedevo: per attivare lo script devo entrare nella pagina che contiene questo codice, giusto? E se entro in tale pagina piu' di una volta, attivo piu' volte questo cron?

      non so' se sono stato spiegato 😉

      0 Miglior Risposta Ringrazia Cita Rispondi

        1 Risposta Ultima Risposta
      • P
        probid Super User • ultima modifica di

        Si devi accedere alla pagina,e ogni volta che lo fai il timer riparte.
        Per esempio se uno accede alla pagina alle 17.00 l'esecuzione la volta successiva avverrà alle 17.15,poi alle 17.30.
        Se uno però visita di nuovo la pagina alle 17.02,le future esecuzioni saranno alle 17.17 e alle 17.32 🙂

        Forse io ho capito la tua paura,quella che un utente visiti la pagina azzerando il timer.
        Ho avuto anch'io la stessa preoccupazione 😄
        Potresti risolvere però mettendo un parametro get nascosto che avvii l'applicazione in questo modo:

        [php]
        <?php
        if ($_GET[action]=="avvia_timer"){
        ignore_user_abort(); // funzione per far continuare l'esecuzione dello script anche dopo la chiusura della pagina
        set_time_limit(0); // funzione per far continuare lo script all'infinito
        $interval=60*15; // ogni 15 minuti...
        do{

        // funzioni da svolgere ogni 15 minuti

        sleep($interval); // funzione per attendere 15 minuti dopo l'intervento
        }while(true);
        }
        else{exit();}?>
        [/php]
        Ora l'esecuzione avverrà soltanto se alla querystring della pagina richiamata viene aggiunto:

        "action=avvia_timer"

        In alternativa si può creare un login da amministratore che stabilisce una sessione e svolgere l'operazione solo se a sessione stabilita 🙂

        Se invece vuoi creare più timer puoi costruire un file per ogni operazione da svolgere e avviarli...

        Ciao!

        0 Miglior Risposta Ringrazia Cita Rispondi

          1 Risposta Ultima Risposta
        • B
          bazzilla User • ultima modifica di

          Interessantissima chicca.

          Perdonatemi però la domanda banale: se io chiudo il browser dopo avere lanciato la pagina in questione, le funzioni non verranno più svolte vero?

          0 Miglior Risposta Ringrazia Cita Rispondi

            1 Risposta Ultima Risposta
          • M
            mz User Attivo • ultima modifica di

            Grazie Probid, lo segnalo nella raccolta dei thread utili, sarebbe un peccato perderlo.

            :ciauz:

            0 Miglior Risposta Ringrazia Cita Rispondi

              1 Risposta Ultima Risposta
            • O
              olaola User Attivo • ultima modifica di

              @Bazzilla said:

              Interessantissima chicca.

              Perdonatemi però la domanda banale: se io chiudo il browser dopo avere lanciato la pagina in questione, le funzioni non verranno più svolte vero?

              no, continueranno a girare, perche' e' presente questa istruzione
              [php]ignore_user_abort(); // funzione per far continuare l'esecuzione dello script anche dopo la chiusura della pagina[/php]

              0 Miglior Risposta Ringrazia Cita Rispondi

                1 Risposta Ultima Risposta
              • B
                bazzilla User • ultima modifica di

                @olaola said:

                no, continueranno a girare, perche' e' presente questa istruzione
                [php]ignore_user_abort(); // funzione per far continuare l'esecuzione dello script anche dopo la chiusura della pagina[/php]

                Mi era sfuggita quella istruzione (che tra l'altro non conoscevo).
                Grazie per l'osservazione.:ciauz:

                0 Miglior Risposta Ringrazia Cita Rispondi

                  1 Risposta Ultima Risposta
                • D
                  dragone67 User Attivo • ultima modifica di

                  @olaola said:

                  no, continueranno a girare, perche' e' presente questa istruzione
                  [php]ignore_user_abort(); // funzione per far continuare l'esecuzione dello script anche dopo la chiusura della pagina[/php]

                  Quindi per far interrompere l'esecuzione cosa bisogna fare ? Riavviare il server ?

                  Ciao

                  0 Miglior Risposta Ringrazia Cita Rispondi

                    1 Risposta Ultima Risposta
                  • O
                    olaola User Attivo • ultima modifica di

                    Intervengo per correggere un errorino nello script proposto di cui mi sono accorto leggendo la pagina della documentazione della funzione ignore_user_abort.
                    Tale funzione, chiamata senza argomanti, restituisce solo lo stato attuale delle impostazioni. Per attivarla bisogna chiamarla con
                    [PHP]ignore_user_abort(TRUE);[/PHP]

                    0 Miglior Risposta Ringrazia Cita Rispondi

                      1 Risposta Ultima Risposta
                    • D
                      desu User • ultima modifica di

                      bella e utile questa chicca!
                      xò mi unisco alla domanda di dragone67!
                      Per interrompere lo script quindi bisogna riavviare il server?
                      se così fosse una volta avviato uno script in un server esterno che non si è un grado di controllare (es. aruba) non si potrebbe più fermare?
                      oppure semplicemente si cancella la pagina e stop?
                      scusate, magari è una stupidaggine ma sono stanco oggi, non riesco a ragionare 😢

                      grazie
                      ciao ciao

                      0 Miglior Risposta Ringrazia Cita Rispondi

                        1 Risposta Ultima Risposta
                      • B
                        bazzilla User • ultima modifica di

                        @desu said:

                        scusate, magari è una stupidaggine ma sono stanco oggi, non riesco a ragionare 😢

                        Male comune...:sonno:

                        0 Miglior Risposta Ringrazia Cita Rispondi

                          1 Risposta Ultima Risposta
                        • B
                          bazzilla User • ultima modifica di

                          @desu said:

                          Per interrompere lo script quindi bisogna riavviare il server?
                          se così fosse una volta avviato uno script in un server esterno che non si è un grado di controllare (es. aruba) non si potrebbe più fermare?
                          oppure semplicemente si cancella la pagina e stop?

                          La questione però interessa anche a me: come si ferma lo script?

                          Proverei da solo, ma non ho PHP in locale.

                          0 Miglior Risposta Ringrazia Cita Rispondi

                            1 Risposta Ultima Risposta
                          • A
                            ares User • ultima modifica di

                            mi associo...

                            come si fa ad interrompere l'esecuzione dello script?

                            grazie... ottimo 3d

                            0 Miglior Risposta Ringrazia Cita Rispondi

                              1 Risposta Ultima Risposta
                            • A
                              ares User • ultima modifica di

                              scusate se rompo...

                              ma qualcuno sa come interrompere l'esecuzione del cron una volta avviata?

                              grazie anticipatamente

                              0 Miglior Risposta Ringrazia Cita Rispondi

                                1 Risposta Ultima Risposta
                              • T
                                tifo.milan.it Bannato User Attivo • ultima modifica di

                                non ne sono certo ma se > ignore_user_abort(TRUE);
                                non permette di interrompere l'esecuzione a questo punto basta eliminare quella riga uppare nuovamente far ripartire l'esecuzione e chiudere il browser

                                0 Miglior Risposta Ringrazia Cita Rispondi

                                  1 Risposta Ultima Risposta
                                • B
                                  brontolo77 User • ultima modifica di

                                  Ho provato come uno stupido lo script postato all'inizio della discussione
                                  risultato mi arriva una email ogni minuto e va bene (era previsto)
                                  MA, ora, non so come fermarlo...

                                  Help me

                                  0 Miglior Risposta Ringrazia Cita Rispondi

                                    1 Risposta Ultima Risposta
                                  • massimux
                                    massimux Moderatore • ultima modifica di

                                    ignore_user_abort(TRUE);

                                    eliminala e quando chiudi la pagina si blocca tutto 🙂

                                    0 Miglior Risposta Ringrazia Cita Rispondi

                                      1 Risposta Ultima Risposta
                                    • B
                                      brontolo77 User • ultima modifica di

                                      ho provato...

                                      ho levato tutto e anche riavviato il pc ma continuo a ricevere email, ci vorrebbe una funzione php per eliminare i demoni o simili....

                                      ps:grazie comunque.

                                      0 Miglior Risposta Ringrazia Cita Rispondi

                                        1 Risposta Ultima Risposta
                                      • A
                                        ares User • ultima modifica di

                                        se riavvi il pc è strano che continui a funzionare, a meno che non hai il server (apache) che si avvia all'avvio di windows.

                                        0 Miglior Risposta Ringrazia Cita Rispondi

                                          1 Risposta Ultima Risposta
                                        • B
                                          brontolo77 User • ultima modifica di

                                          No io non ho apache.
                                          non ho nessun server locale.

                                          comunque ho lanciato quel comando su REGISTER... se ti può essere utile.

                                          0 Miglior Risposta Ringrazia Cita Rispondi

                                            1 Risposta Ultima Risposta
                                          • A
                                            ares User • ultima modifica di

                                            se non hai nessun server dove fai i test?

                                            direttamente online?

                                            se lo fai direttamente online se non sbaglio dovrebbero riavviare i provider il server altrimenti non lo bloccano
                                            neanche se cancelli il file

                                            0 Miglior Risposta Ringrazia Cita Rispondi

                                              1 Risposta Ultima Risposta
                                            Caricamento altri post
                                            Rispondi
                                            • Topic risposta
                                            Effettua l'accesso per rispondere
                                            • Da Vecchi a Nuovi
                                            • Da Nuovi a Vecchi
                                            • Più Voti