Salve come da titolo dovrei realizzare un conto alla rovescia , ma vorrei capire come muovermi.
All avvio premo un tasto e setto nel db data e ora .
Poi mi fermo...
Lancio un cronjob al secondo ?
Salve come da titolo dovrei realizzare un conto alla rovescia , ma vorrei capire come muovermi.
All avvio premo un tasto e setto nel db data e ora .
Poi mi fermo...
Lancio un cronjob al secondo ?
Il conto alla rovescia deve solo essere mostrato a video o deve succedere anche qualcosa alla sua scadenza?
Deve sopravvivere alla chiusura e riapertura della pagina/browser? Se chiudi e torni, il countdown deve essere ancora lì col conteggio giusto?
Comunque, valuta di salvare nel db la scadenza scelta e poi mostrare il conto alla rorvescia usando Javascript, un CronJob al secondo proprio no.
Deve succedere qualcosa alla scadenza , quindi essendo ogni volta un tempo diverso impostato dall'user , fino al salvataggio della scadenza da db (oppure start e minuti) e javascript a schermo nessun problema , però per fare le modifiche se non con il cronjob con cosa ?
Per eseguire un'azione sì, ti serve CronJob.
Ti dicevo "no cronjob" per il solo scopo di mostrare il countdown.
Quindi devo impostarne uno al secondo ? Oppure c'è un modo per lanciare il cronjob ad un determinato orario da codice ?
esempio setto il tempo a 22 minuti da adesso clicco start e faccio partire un cronjob tra 22 minuti da adesso che lanci un url specifico,si può fare ? (di solito gli imposto da cpanel e giornalieri)
Non devi impostare un cronjob al secondo, ma solo uno sulla scadenza scelta dall'utente, ci pensa il server a controllare se è ora di eseguirlo o no, tu gli devi solo dire "lo devi far partire tale giorno a tale ora", basta.
Quello di lanciare un cronjob in un dato momento è proprio il lavoro di crontab ed è fatto per evitare questa cosa di far girare uno script ogni secondo.
Chiaramente il server su cui hai il sito deve permetterti di usare i cronjob, altrimenti il discorso salta.
Ma se ne imposto uno alla mezzanotte non posso ad esmepio mandare una mail alla scadenza , io ho proprio bisogno che alla scadenza esegua una determinata azione ( notifiche push , mail , cambio db ecc)
Le cose sono due:
- non ho capito io cosa vuoi fare
- non hai capito tu come funziona crontab
Se tu vuoi che a mezzanotte il server invii un messaggio, ti basta creare un solo cronjob per eseguire uno script in data "tale giorno a mezzanotte" e il server senza che tu controlli niente, tale giorno a mezzanotte invierà il messaggio.
No.
Quando un utente decide quando farsi inviare il messaggio devi fare 2 cose.
1) inserire nel db la data di scadenza, questo al solo scopo di mostrare a video il countdown se serve, altrmenti questa cosa te la puoi evitare completamente e fare solo la seguente
2) imposti un cronjob per la data e ora selezionate, fine, il server quando sarà quella data e quell'ora attiverà lo script che gli avrai indicato