io ho un cron job che quotidianamente alle 17 va a leggere un database e per ogni riga che ha il timestamp di quel giorno esegue un'operazione.
Ha sempre funzionato bene (non so esattamente da quando ce l'ho attivo, ma saranno almeno 8-10 mesi), solo che oggi si è verificata una situazione strana: l'operazione è stata eseguita 2 volte per ciascuna riga del database. oltre tutto è stata eseguita prima una volta per ciascuna riga e a distanza di qualche minuto un'altra volta. In realtà non sono sicurissimo della distanza, so solo che ho una pagina che legge il database risultato e c'è stato un momento in cui questa visualizzava una sola operazione per riga, all'aggiornamento successivo ce ne erano 2.
Può darsi che per qualche motivo sia stato eseguito il job 2 volte? Sinceramente non penso sia un problema di codice, però è strano
No, non c'è modo di passare parametri POST. Puoi provare a controllare lo user agent della richiesta: il cron si spaccia per "Mozilla/4.0 (compatible; MSIE 8.0; Windows NT 6.0)".
«È una mia peculiarità distorcere la verità e inventarne di nuove.»
«I tuoi orientamenti hanno su di me un effetto prossimo allo zero.»
Di nuovo mi è stata eseguita la pagina con il codice per il job. Questa volta è stata eseguita in mattinata, mentre il job è impostato alle 17, e infatti non è stato registrato alcun job.
Mettendo pure che sia un motore di ricerca o qualcosa del genere, non esiste un modo per proteggere questa pagina e far si che solo il job la possa eseguire? Uso di cookie, controllo sull'ip, controllo sulla pagina di provenienza o qualsiasi altra cosa.
La soluzione può essere momentaneamente cambiare il valore del get, ma non risolve il problema, lo sposta solo in là di qualche giorno