Ghost Incrementating Int Field nella tabella MySQL?
Domanda
Cose molto strane che accadono in phpmyadmin (mysql) ....
La situazione:
Ho una tabella con un solo campo che contiene un valore int chiamato "conteggio". Il conteggio è stato originariamente impostato su 0. Un lavoro Cron chiama uno script PHP ogni ora che aumenta il "conteggio" di uno (SET count = count + 1)
.
Il problema:
Il problema può essere osservato quando apro la tabella in phpmyadmin, quindi aggiorno immediatamente il browser: posso vedere che il "conteggio" è stato incrementato di 20 volte in un secondo. Lasciandolo da solo per un minuto e poi aggiornando di nuovo il browser mostra che è stato incrementato di centinaia di più volte! Un ciclo infinito da qualche parte chiamando il mio lavoro cron e aumenta il "conteggio"? (Non pensare così perché ho aggiornato lo script PHP di Crob per inviarmi un'e -mail quando è chiamato e non ricevo chiamate ...)
È mai successo qualcosa di simile a qualcuno?
La stringa cron:
*/15 * * * * /usr/bin/php -q /home/account_name/cron/cron.php test
Lo script PHP:
<?php
class TestCommand extends CConsoleCommand {
private $connection;
public function run($args) {
// Increment counter
$this->connection=Yii::app()->db;
$sql="UPDATE count_converts SET count=count+1 WHERE id=1";
$command=$this->connection->createCommand($sql);
$command->execute();
}
}
?>
AGGIORNARE:
Risolto il mistero: ho scoperto che ciò era dovuto a un brutto nidificato per loop da qualche altra parte (entrambi i loop usati $ i) ...
Soluzione
Perché io ci sia unu003Cbr /> E una linea di linea nella tua corda Cron? Cambiarlo in
*/15 * * * */usr/bin/php -q /home/account_name/cron/cron.php test