Visualizzazione dei risultati da 1 a 6 su 6
  1. #1
    Utente di HTML.it
    Registrato dal
    May 2002
    Messaggi
    268

    Azione al raggiuntimento di un'ora

    Esiste un modulo o una funzione che mi permettono di eseguire codice ad una determinata ora?

  2. #2
    Utente di HTML.it
    Registrato dal
    Sep 2001
    Messaggi
    21,188
    In che linguaggio?

    In Perl? Non avrebbe senso: chi ti dice che l'interprete Perl sia attivo in quell'istante?

    Devi usare le funzioni del sistema operativo.
    Se usi linux o sim, cerca cron o crontab
    Se usi windows, non so, ma dovrebbe essre possibile.
    Nuova politica di maggiore severita` sui titoli delle discussioni: (ri)leggete il regolamento
    No domande tecniche in messaggi privati

  3. #3
    Utente di HTML.it
    Registrato dal
    May 2002
    Messaggi
    268
    Il codice sottostante mediante il modulo Win32::ChangeNotify fa la seguente cosa: rimane sempre in attesa, se il file prova.txt subisce una modifica negli attributi allora esegue le istruzioni della condizione.

    ############################
    require Win32::ChangeNotify;
    ¬

    sub not
    {
    $ntfy = Win32::ChangeNotify->new("c:/prova.txt",true,ATTRIBUTES);
    $ntfy->wait;
    if ($ntfy ne "")
    {
    ### esegui qui l'applicazione o il comando che vuoi ###
    $ntfy->reset;
    ¬
    }
    }
    ##########################

    Ciò che mi chiedo è se si può legare questo tempo di attesa non alla modifica di qualcosa ma sulla base dell'orario

  4. #4
    Ciao,

    qualunque script può essere mantenuto sempre attivo inserendo un ciclo di questo tipo:

    while (1) {
    codice
    }

    è così che funzionano gli script con funzioni di server. Tieni però presente che gli script CGI sono soggetti a time out, per cui dopo poco il processo viene killato da SO, per cui in genere è meglio ricorrere agli strumenti offerti dal SO stesso per eseguire compiti periodici.
    Marco Allegretti
    shishii@tiscalinet.it
    Lang: PERL, PHP, SQL.
    Linux user n° 268623 Fedora Core 10, Fedora Core 6, Debian Sarge on mips

  5. #5
    Wow...non ci avevo mai pensato!!!!

    pensi che se lo script fosse lanciato da terminale magari in background possa essere killato dopo un pò dal sistema operativo?

    magari allegerendolo cosi'

    codice:
    while (1)
    {
    
       sleep 5
    
       ...code..
    
    }

  6. #6
    va benissimo anche sleep 1

    comunque il carico deriva principalmente da quello che deve fare durante il while.

    lanciato da terminale non dovrebbe essere sottoposto ad alcun time out.
    Marco Allegretti
    shishii@tiscalinet.it
    Lang: PERL, PHP, SQL.
    Linux user n° 268623 Fedora Core 10, Fedora Core 6, Debian Sarge on mips

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 © 2024 vBulletin Solutions, Inc. All rights reserved.