Copier une table d'un serveur vers une table d'un autre serveur ?
Posté : 28 déc. 2020, 22:58
Hello,
Je souhaiterais optimiser ma façon de faire la copie d'une table d'un serveur (SQL de RadioDJ) vers la table d'un autre serveur (hébergement site).
Aujourd'hui et depuis déjà un moment, il y la méthode automatique qui se déclenche tous les jours à 17H00 et la méthode manuelle que l'on déclenche depuis le panneau d'admin du site.
La version manuelle est au format json car elle renvoie au navigateur, le pourcentage de lignes recopiés afin de voir l'évolution due une barre de progression.
La version automatique est plsu simple puisque se passe en tache de fond.
Voici une partie du code :
En gros, je lit la table du serveur RadioDJ, je remplis un array et arrivé à 200 lignes, j'écris dans la table du site (que j'ai tronqué), et je continue avec les 200 lignes suivantes , jusqu'à la fin de la table source.
Et à la fin , j'écris ce qui reste dans le array (car c’est pas forcément un multiple de 200 lignes).
Depuis quelques jours, ca met le site en erreur 503, je ne sais pas pourquoi, d'autant plus que rien a changé.
Je souhaiterais savoir si il y a plus efficace et plus propre pour faire la même chose (et espérer que les 503 retournent en cuisine), car même pas la peine que j'appelle l'hébergeur (ionos) qui dira forcément que c'est pas eux.
Merci pour les tuyals
Couin
Je souhaiterais optimiser ma façon de faire la copie d'une table d'un serveur (SQL de RadioDJ) vers la table d'un autre serveur (hébergement site).
Aujourd'hui et depuis déjà un moment, il y la méthode automatique qui se déclenche tous les jours à 17H00 et la méthode manuelle que l'on déclenche depuis le panneau d'admin du site.
La version manuelle est au format json car elle renvoie au navigateur, le pourcentage de lignes recopiés afin de voir l'évolution due une barre de progression.
La version automatique est plsu simple puisque se passe en tache de fond.
Voici une partie du code :
Code : Tout sélectionner
$queryx = "TRUNCATE TABLE category";
$resultx = mysqli_query($dbwrite,$queryx);
$r = 0;
$values = array();
$query = "SELECT * FROM category ORDER BY ID ASC";
$results=mysqli_query($dbrdj,$query);
while($row=mysqli_fetch_array($results)){
$r++;
$ID = $row['ID'];
$name = addslashes($row['name']);
$values[] = "('$ID', '$name')";
if ($r == 200 ) {
$sql = 'INSERT INTO category (ID, name) VALUES '.implode(',', $values);
$sql = mysqli_query($dbwrite, $sql);
$values = array();
$r = 0;
}
}
if ($r > 0 ) {
$sql = 'INSERT INTO category (ID, name) VALUES '.implode(',', $values);
$sql = mysqli_query($dbwrite, $sql);
$values = array();
$r = 0;
}
// $now = date("Y-m-d H:i:s");
$sql = "UPDATE config SET valeur = '$now' WHERE critere = 'last_sync_cat'";
$requete = mysqli_query( $dbwrite, $sql );Et à la fin , j'écris ce qui reste dans le array (car c’est pas forcément un multiple de 200 lignes).
Depuis quelques jours, ca met le site en erreur 503, je ne sais pas pourquoi, d'autant plus que rien a changé.
Je souhaiterais savoir si il y a plus efficace et plus propre pour faire la même chose (et espérer que les 503 retournent en cuisine), car même pas la peine que j'appelle l'hébergeur (ionos) qui dira forcément que c'est pas eux.
Merci pour les tuyals
Couin