Aktywne Wpisy

Randy_the_Ram +173
Pozdrawiam z Afganistanu!
Udało mi się wjechać do tego p--------o kraju, ale wystąpił problem. Tłukłem się stopem na granicę i nie zdążyłem wyrobić wizy. Jutro jest święto i wizę dostanę dopiero pojutrze. Pan talib przywiózł mnie na motorku do hotelu, który jest na terenie Afganistanu, ale mam zakaz opuszczania go, bo jakby nie patrzeć jestem tu nielegalnie. Na szczęście wifi jest zajebiste, a chłopaki z obsługi jeżdżą mi po fajki i kebaby
Udało mi się wjechać do tego p--------o kraju, ale wystąpił problem. Tłukłem się stopem na granicę i nie zdążyłem wyrobić wizy. Jutro jest święto i wizę dostanę dopiero pojutrze. Pan talib przywiózł mnie na motorku do hotelu, który jest na terenie Afganistanu, ale mam zakaz opuszczania go, bo jakby nie patrzeć jestem tu nielegalnie. Na szczęście wifi jest zajebiste, a chłopaki z obsługi jeżdżą mi po fajki i kebaby
źródło: 1000012315
Pobierz
Atreyu +55
Mieszkanie pet friendly - ale zwierzętami jesteście Wy xD
#patodeweloperka #krakow #heheszki #czarnyhumor #nieruchomosci
#patodeweloperka #krakow #heheszki #czarnyhumor #nieruchomosci
źródło: jj32g5ek7ubg1
Pobierz




No dobra, dzisiaj muszę pobrać ze dane ze strony. Uzywam #symfony2 i #goutte
Mam już wszystko gotowe, skrypt działa i w ogóle. Problem jest taki że strona ma ogromną ilość podstron.
Np
Lista elementów:|- Lista obiektów:
|- spis
|- spis
|- spis
|- Lista obiektów:
|- spis
|- spis
|- spis
|- Lista obiektów:
|- spis
|- spis
|- spis
więc wychodzi tego naprawdę dużo. Problem mam taki że na początku skrypt w miarę fajnie leci, i ETA wychodzi około 2h. Ale po 20 minuach wzrazta już do 3h a po kolejnych do 7 i tak dalej..
Zrobiłem taki myk:
$em = $this->getContainer()->get('doctrine')->getEntityManager();$em->getConnection()->getConfiguration()->setSQLLogger(null);
Ale niewiele to dało... Przez przeglądarkę strona mi się odpala od strzału, nie ma żadnej zadyszki ani nic... tylko skrypt zwalnia..
Na końcu pętli mam
persisty iflushCo jeszcze mogę zrobić?
Dodam że skrypt jest napisany w #symfony2 pod konsolą (command).
$entityManager->detach($object);Wtedy Garbage Collector będzie mógł od razu je zgarnąć i posprzątać, w innym przypadku siedzą w pamięci niepotrzebne obiekty.
edit: ewentualnie po flushu zrób $em->clear(); który detachuje wszystkie obiekty w EM
@DanioPL: ale gdzie to odpalic? Swój skrypt odpalam tak:
php app/console nazwa:metoda parametr. Na końcu mam dodać-e prod?php app/console cache:warmup --env=prodprzed wykonaniem komendy. Znacznie przyspiesza całość aplikacji.Tak jak koledzy wyżej pisali, wykorzystaj funkcję detach() i clear(), dodatkowo po zapisaniu możesz robić unset($obj)
Obecnie mam tablicę obiektów i odwołuję się w niej tak:
foreach( range( 0, count($arr) as $num ) {$arr[$num] <- mój obiekt
}
Poniżej masz kawałek przykładowego kodziku w jaki sposób możesz uniknąć ładowania danych do arraya i iterowania później po tym. Tablice w PHP zjadają bardzo dużo pamięci, dopiero w PHP 7 będzie to znacznie zoptymalizowane. Ciężko mi się wypowiedzieć bo nie widzę tego co masz napisane. W każdym razie powyciągane (nie wiem skąd) obiekty ładujesz sobie do kolekcji, a jak już masz wszystko to robisz sobie
foreach($objectCollection->getIterator() as
co w przypadku gdy mam np.
ManyToOnei obiekty:Dzień,TypDnia$d1 = newJeżeli mam kolekcję. Jak mogę z niej pobrać konkretny obiekt z pominięciem foreach?
Załóżmy że mam obiekt Miasto oraz obiekt NazwaMiasta
Obiekt Miasto posiada ID z NazwaMiasta.
W przypadku tablic zrobiłbym