PDA

View Full Version : schedulazione php


oziobao
31-05-2007, 16:59
che metodi esistono per schedulare funzioni php e/o query e aggiornamenti del db?
in particolare una soluzione dinamica poichè ogni utente potrebbe voler richiedere una schedulazione personale (tipo inserimento della foto in galleria fotografica il tal giorno alla tal ora... o invio di cartoline...
voi come vi muovereste?
c'è chi mi ha consigliato di mettere nei footer per esempio un controllo di modo che ad ogni accesso al sito se è una certa ora per esempio succede una certa cosa... però non mi convince perchè dipende dalle visite al sito (non invierebbe una cartolina ad un ora notturna dove nessuno visita il sito) e poi per elaborazioni più lunghe come aggiornamenti vari potrebbero rallentare l'accesso alla pagina per tutta una serie di inserimenti nel db che erano rimasti 'da fare'....
mi hanno parlato di crontab, ma mi pare di capire che dovrei io indicare i tempi per schedulare gli eventi, non potrebbere farlo un utente qualunque una volta loggato...

spero di essermi spiegato :P
attendo info e grazie da ora :)

ianaz
31-05-2007, 17:50
Puoi accedere al server in remoto?

oziobao
31-05-2007, 17:55
ancora non lo so, sto studiando le varie soluzioni per l'applicazione che ho in testa. devoancora scegliere ilprovider
supponiamo entrambi i casi ;) sia che lo abbia che non :)

ianaz
31-05-2007, 17:56
Bé, l'unica soluzione che mi viene in mente (se puoi accedere alla macchina) é dii fare giù tu un programmino (in java o non so ché) che faccia da tool cronjob :)

ianaz
31-05-2007, 18:06
Se ti può interessare lo sto facendo proprio ora un tool del genere (per utilizzi personali).
Basta che con php fai scrivere su un file le pagine o quel che é che devi far eseguire e il programma lo va a leggere.
È un po' intricata la cosa però :D

oziobao
31-05-2007, 18:10
cioè dovrei far girare fisso un'applicazione java (per esempio) che controlla quando ha da fare delle cose?
ma ho visto che molti provider se si scelgono montati su macchine linux danno solo php cgi e poco altro come linguaggi supportati... o mi sbaglio?

ianaz
31-05-2007, 18:33
cioè dovrei far girare fisso un'applicazione java (per esempio) che controlla quando ha da fare delle cose?
ma ho visto che molti provider se si scelgono montati su macchine linux danno solo php cgi e poco altro come linguaggi supportati... o mi sbaglio?

Si ma io parlo di sistemi dove puoi installarci cose ed entrare come se fosse il tuo pc :)
Meglio che aspettii altre risposte, potrei dire stupidaggini. io comunque farei come ho detto ;)

oziobao
01-06-2007, 09:54
ho inoltre trovato guardando in giro che non tutti i servizi di hosting forniscono il crontab :(
nessuno sa nulla?

ianaz
01-06-2007, 10:02
In ogni caso gli hosting che forniscono crontab non te ne lasciano illimitati.
Ai tempi ne avevo uno che te ne lasciava 5...
E per il tuo progetto immagino che tu ne abbia bisogno di illimitati :)

oziobao
01-06-2007, 10:06
capisco...:eek: allora attendo altre soluzioni :stordita:

MEMon
01-06-2007, 10:31
Ma scusa dov'è il problema?
Ti appoggi ad un db per memorizzare quello che devi spedire, ti crei un'applicazione web(ajax ad esempio) che ogni tot tempo controlla questo db per sapere se c'è roba da spedire per quel determinato minuto, se si spedisci.
Semplice ed efficace per quello che vuoi fare.

ianaz
01-06-2007, 10:34
Ma scusa dov'è il problema?
Ti appoggi ad un db per memorizzare quello che devi spedire, ti crei un'applicazione web(ajax ad esempio) che ogni tot tempo controlla questo db per sapere se c'è roba da spedire per quel determinato minuto, se si spedisci.
Semplice ed efficace per quello che vuoi fare.
Ma lui vuole farlo pure di notte o in qualsiasi momento...
In ajax lui dovrebbe lasciar acceso il pc di casa che lo fa...

MEMon
01-06-2007, 10:36
Bhe si ovvio, il suo pc deve rimanere acceso per fare girare l'applicazione.
Non pensavo fosse un problema però.

oziobao
01-06-2007, 11:11
ciao
grazie per il consiglio però appunto preferirei una soluzione che risieda tutta nel server, senza rischio che se vado in vacanza o mi scoppia il pc o ho problemi con la portante o altro il servizio salti... :( in pratica una soluzione autosufficiente.. tant'è che mi hanno parlato di crontab esterni (residenti su altri siti) e già mi sa che sarà l'unica soluzione a cui casomai dovrò fare riferimento... sebbene anche questi però finiscano per appoggiarsi a risorse esterne ...

ianaz
01-06-2007, 11:16
Se vuoi fare una cosa seria non ti conviene affidarti ad altri, potrebbero saltare i loro di server :)

oziobao
01-06-2007, 11:20
infatti...
casomai pagherò un pò di più per hosting più 'completi' che forniscano anche il crontab... :P

ianaz
01-06-2007, 11:22
Informati bene su quanti ne danno e se sono schedulabili da codice... altrimenti devi farli manualmente!

buona fortuna ;)

oziobao
01-06-2007, 11:26
no in quel caso pensavo di mettere su db tutto quello che va schedulato con l'ora di partenza, magari discretizzata ogni 15 minuti per fare un esempio e con un cronjob solo ogni 16 minuti chiamare una funzione per esempio php che accede al db e procede a far partire i job degli ultimi 15 minuti ;)
in questo caso basterebbe uno :D

ianaz
01-06-2007, 11:28
Ah ok, verissimo :)

MEMon
01-06-2007, 11:30
Comunque voler far fare ad un pc di un "altro" qualcosa necessario solo a se stessi ciclicamente è un pò presuntuoso :D

si scherza ovviamente :D

oziobao
01-06-2007, 11:37
no ma io dico che vi sono servizi on line gratuiti di crontab, tipo http://webcron.org/ ;)
il guaio è che sempre ti vai a fidare di cose esterne che possono essere giù quando non dovrebbero (murphy docet) ..o chiudere i battenti sul più bello:D :D

cionci
01-06-2007, 12:07
E per il tuo progetto immagino che tu ne abbia bisogno di illimitati :)
No...non è detto. Ne basta anche uno... Basta far eseguire uno script php ogni minuto che si va a leggere dal database i vari eventi che devono essere gestiti...