Stort array som skal ind i en database
Hej,Jeg trækker et array som ser ud som følger (PRINT_R)
System 1] => OK
[Adr 1] => OK
[Adr 2] => OK
[Adr 3] => OK
[Adr 4] => OK
System 2] => OK
[Adr 1] => OK
[Adr 2] => FEJL
[Adr 3] => OK
[Adr 4] => OK
System 3] => OK
[Adr 1] => FEJL
[Adr 2] => OK
[Adr 3] => OK
[Adr 4] => OK
System 4] => OK
[Adr 1] => OK
[Adr 2] => OK
System 5] => OK
[Adr 1] => OK
...
...
...
Date hentes fra et web api og tager ca. 50 sekunder at danne (Ovenstående er kun et saks) og det går som regel efter planen!.
Lige nu henter jeg det hjem via et Cronjob, når ALLE data er samlet i et array, deles de op og sendes til en database........ og det lykkes som sådant..... men jeg kan se i databasen at der er flere gange, hvor posterne lægges 2,3,4,5 eller flere gange i databasen...... og det bliver noget rod!
Da tingene er dynamisk og der løbende tilføjes systemer indtil vi når et max. på 40, så hentes al data og sorteres på følgende måde:
1)
System navn lægges i en database og er den oprettet hentes den primære nøgle, så de nye poster kan pege på den!
2)
Adresserne gemmes i en anden tabel og peger på systemnavnet
Action:
Alt køres igennem 2 for each løkker
for each (system as system_out) {
// Tjek om systemet allerede er oprettet
// Hvis Ja, så returnerer den pri key
// Ellers oprettes systemet!
for each (adr as adr_out {
// gem adressen i systemet og peg på system XX
}
}
Er der en smartere måde at håndterer denne proces? Jeg synes somme tider at kunne se, at posterne gemmes flere gange indenfor kort, som at scriptet går i stå, eller ikke får afleveret data.....