Pagina 1 di 2 1 2 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 13
  1. #1

    Ragionamento Php e Crontab

    Salve a tutti,
    non sono qui a chiedere come settare un cronjob sul server, ma anzi, a come ottimizzare e gestire delle operazioni di routine sul mio sito attraverso gli orari.

    Mi spiego.

    Facciamo che faccio partire il cronjob verso il mio file php (che gestirà diverse operazioni) ogni 5 minuti, sempre tutti i giorni.

    Ora, dentro il php vorrei creare delle istruzioni, alcune verranno dal db, altre saranno fisse, ma comunque tutte legate ad una data e ora specifica.

    Bene, la prima cosa che farò è sapere che ore sono
    - 17.45 del 2011-10-29

    Bene, ora potrei fare una query nella tabella ARTICOLI per vedere se c'è qualcosa da pubblicare, giusto?

    Insomma ... la mia stupida domanda è: se imposto un'orario di pubblicazione dell'articolo che è 17.44 e il crontab invece sta passando alle 17.45 la query non avrà riscontro, e l'articolo non sarà pubblicato. Non saprò mai se la mia data coinciderà perfettamente con quella di passaggio del cron.

    In tutto questo, l'unica sarebbe settare il cron ogni 60 secondi, cosi da avere la certezza che venga eseguito sempre, è giusto il ragionamento??

    La mia idea iniziale era addirittura far passare il cron ogni 30 minuti e fare la query "WHERE data_pubblicazione < NOW()", cosi da pubblicare tutto ciò che precedente; ma siccome ho dei cron di pulizia del db che devono essere lanciati 1 sola volta al giorno, questa soluzione non mi sembrava praticabile.

    Il mio ragionamento è corretto o ci sono altri modi per gestire queste situazioni???

    Grazie mille
    Perchè uso Maxthon? | Mi piace questa chat

  2. #2
    Apparte il fatto che non capisco il perchè tu debba pubblicare un articolo attarverso un cronjob e non direttamente quando va in linea e viene scritto; se vuoi usare il cronjob ti consiglio di snellire la faccenda e di inserire un flag nel db tipo : pubblicato, non pubblicato ( per farla semplice), lanciare il cron ogni ora e pubblicare tutto gli articoli che non lo sono. In questo modo il ritardo massimo di pubblicazione è di 59 minuti, riduci il cronjob e riduci il ritardo
    Glue Labs
    Makes extraordinary things
    www.glue-labs.com/

  3. #3
    Utente di HTML.it
    Registrato dal
    Sep 2011
    Messaggi
    4

    aiuto

    Sono nuovo e non so come muovermi in questo sito
    Ho creato un form php ma quando arriva nella casella di posta me la identifica come spam e mi da mittente sconosciuto, come faccio 1 ad evitare che me la riconosca come spam
    2 come faccio a fargli riconoscere il mittente

    DESCRIZIONE
    ho creato sito su altervista e va perfettamente le mail arrivano normalmente
    poi ho spostato tutto su aruba ma le mail che ricevo le mette tutte in spam

    Riuscite a darmi una mano anche se non sono nella posizione giusta
    grazie

  4. #4
    se il tuo cron parte ogni X minuti, tu pubblicherai tutti gli articoli che avranno data di pubblicazione NOW-X_minuti .... ritardo massimo di pubblicazione rispetto all'ora impostata: X_minuti. Come ti è stato detto, riduci X e ridurrai il ritardo...
    IP-PBX management: http://www.easypbx.it

    Old account: 2126 messages
    Oldest account: 3559 messages

  5. #5
    ma perché usare un cronjob?

    per quale motivo qualcuno dovrebbe scegliere questa via per farsi male da solo?

    basta che, quando VISUALIZZI gli articoli verifichi che la data/orario di pubblicazione sia antecedente o uguale alla data/orario corrente ... fine

  6. #6
    Originariamente inviato da daniele_dll
    basta che, quando VISUALIZZI gli articoli verifichi che la data/orario di pubblicazione sia antecedente o uguale alla data/orario corrente ... fine
    mah parliamone... e cmq che ci vuole col crontab?
    IP-PBX management: http://www.easypbx.it

    Old account: 2126 messages
    Oldest account: 3559 messages

  7. #7
    Originariamente inviato da Santino83_02
    mah parliamone... e cmq che ci vuole col crontab?
    se il problema è far visualizzare gli articoli dopo una specifica data, basta far si che la query che tira fuori gli articoli li consideri pubblicati quando controllando una specifica data

  8. #8
    Originariamente inviato da daniele_dll
    se il problema è far visualizzare gli articoli dopo una specifica data, basta far si che la query che tira fuori gli articoli li consideri pubblicati quando controllando una specifica data
    mah troppo scomodo: tutte le query che in un modo o nell'altro abbiano a che fare con gli articoli dovrebbero avere questo controllo, pure eventuali view nel db, quando magari sarebbe più semplice e veloce fare un semplice "where pubblicato = 1" e avere un sistema a parte che capisce quando un articolo è pubblicato o meno
    IP-PBX management: http://www.easypbx.it

    Old account: 2126 messages
    Oldest account: 3559 messages

  9. #9
    più semplice forse, più veloce no perché:
    - la data la si può tenere come unix timestamp cosi da fare un semplice confronto tra due numeri
    - grazie al fatto che i valori delle date sono diversi, mysql può usare gli indici in modo più efficace
    - mettere un indice su un campo composto da 2 valori non serve a molto perché estrae troppa roba e quindi non è un indice efficente

  10. #10
    Originariamente inviato da daniele_dll
    se il problema è far visualizzare gli articoli dopo una specifica data, basta far si che la query che tira fuori gli articoli li consideri pubblicati quando controllando una specifica data
    Se l'operazione richiesta e' solo la visualizzazione allora questo sistema va benissimo. E' diverso il caso in cui al momento della pubblicazione di un articolo devono essere effettuate altre operazioni potenzialmente lente (tipo postare il messaggio su facebook/twitter, aggiornare una sitemap, ecc.), in questo caso e' necessario assicurarsi che l'operazione venga eseguita una volta sola e non x volte se x utenti richiedono la pagina prima che tutte le operazioni siano concluse.

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.